PHP Portal » PHP Forum » Entwicklung » MySQL, PostgreSQL und SQL-konforme Datenbanken » Thema: M$SQL charset

Thema: M$SQL charset 

von
Member
Zitat
wie kann ich bei einer mssql-basierten datenbankverbindung angeben, welchen zeichensatz die verbindung nutzen soll?

info: umlaute aus der DB kommen bei ISO*/UTF8 im html immer nicht erkennbar an. daher schliesse ich auf den zeichensatz der verbindung.

Werbung

Re: Thema: M$SQL charset 

von
the Boss
Zitat
was heißt "nicht immer", mal geht mal geht nicht bei der gleichen Webseite?

Re: Thema: M$SQL charset 

von
Member
Zitat
nicht "nicht immer" sondern "immer nicht". also nie richtig. ,-)

Re: Thema: M$SQL charset 

von
the Boss
Zitat
Eventuell postet der Client (Browser) nicht das selbe, wie der Server ausgibt.
Die Option accept-charset="..." im <form> mit angegeben?

Re: Thema: M$SQL charset 

von
Member
Zitat
ich hatte gestern schon geschrieben, aber vergessen zu posten, nachdem ich mit dem bildupload probleme hatte. :-(

dies ist ein code-teil ....

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Connect MSSQL mssql_connect($server, $user, $password); mssql_select_db($db); /***********************************************************/ // Do a simple query, select the version of // MSSQL and print it. $version = mssql_query('SELECT @@VERSION'); $row = mssql_fetch_array($version); echo '<h3>Datenbank Version</h3><p>'.$row[0].'</p>'; // Clean up mssql_free_result($version); /***********************************************************/ /***********************************************************/ // Send a select query to MSSQL
für die ungekürzte Fassung bitte einloggen


angehangen** bilder der beiden zeichensätze ... auf beiden bildern ist zu erkennen, dass "irgendwas" nicht stimmt. ,-)

bild-ISO-8859-1.png


bild-UTF-8.png



-----
** geht leider nicht (mehr).
Catchable fatal error: Argument 2 passed to Template::add() must be an array, string given, called in /var/www/php2all.de/html/classes/tpl/tplfiles.class.php on line 59 and defined in /var/www/php2all.de/html/base2/template/template.class.php on line 203[/img][/url][/img][/url][/img][/url][/img][/url]

Re: Thema: M$SQL charset 

von
Member
Zitat
nachtrag ... nicht der upload geht nciht, sondern das antworten ...

- über den button oberhalb des threads kommt die fehlermeldung direkt.
- beim antworten-button unten nach dem absenden des posts.

Re: Thema: M$SQL charset 

von
Member
Zitat
(vorübergehende) lösung gefunden ...

die function iconv() ist hier recht hilfreich.

PHP Code
1
2
3
4
5
6
// Print the row echo '<tr>'; echo '<td>' . $field->name . ' // '. iconv('cp852', 'utf-8', $field->name) .'</td>'; echo '<td>' . strtoupper($field->type) . '</td>'; echo '<td>' . $field->max_length . '</td>'; echo '</tr>';


allerdings finde ich diese lösung nicht optimal, aber vorläufig nutzbar.

hat jemand noch andere ideen?

Re: Thema: M$SQL charset 

von
the Boss
Zitat
kann man MS-SQL nicht dazu bringen, standardmäßig UTF-8 zu reden?

Re: Thema: M$SQL charset 

von
Member
Zitat
das ist ja meine frage ... ich will diese ganze konvertierung ja auch nicht machen.

Schnellantwort