Türkische Sonderzeichen darstellen (charset Problem)

timestamp

Mitglied Käsekuchen
Hi

ich muss türkische Sonderzeichen darstellen. Die Texte erhalte ich aus einer Datenbank. Leider wird mir für bestimmte Zeichen lediglich ein Fragezeichen angezeigt. Ich habe bei Google einige Hinweise gefunden, wovon leider keiner funktioniert hat.
Das Tabellenfeld hat die Kollation "utf8_turkish_ci".
Im PHP-Script nutze ich folgende Funktionen (ohne Erfolg)
PHP:
<?php
mysql_set_charset('iso-8859-9');
header('Charset: iso-8859-9');
?>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-9" />

Dieser Code lässt mich darauf schließen, dass das Problem eher beim Übergang von MySQL zu PHP zu suchen ist:
PHP:
$str = str_split($row[1]);
for( $i = 0; $i < count($str); $i++){
  var_dump(ord($str[$i])); // gibt an der Stelle der türkischen Buchstaben 63 aus (entspricht dem Fragezeichen)
}
 
hi,

ich mag zwar keine Sonderzeichen :D aber wenn du e denkst dass es an dem Übergang liegt, hast du die Datenbank selbst auf den iso gestellt?

Dann kann man den charset noch in der php.ini festlegen, das ist im Normalfall das beste und alle Daten selbst auch noch auf den Zeichensatz umstellen;)

Dann kanns fast nix mehr sein, ausser dein iso kennt die Zeichen echt nicht;)
 
Ich habe es jetzt geschafft :)
Die Tabelle hat jetzt das Charset latin5, mit mysql_set_charset('latin5') lassen sich nun auch diese Zeichen anzeigen.
 
Zurück