Page 1 of 1
PhpMyAdmin und arabische Schrift
Posted:
05. May 2008 10:52
by asra
Hallo, ich möchte arabische Schriftzeichen in PhpMyAdmin eingeben.
PhpMyAdmin trägt aber nicht einfach ein, sondern nimmt eine Konvertierung vor. Das Ergebnis: eine Reihe von Fragezeichen.
Habe schon mehrere Zeichensätze ausprobiert, nichts funktioniert.
Kennt jemand das Problem? Mit welchen Einstellungen kann das funktionieren?
Hier der Code, den PhpMyAdmin erstellt:
UPDATE `suren` SET `BASMALA` = 'لمشايخ والعلماء وطلاب' WHERE `ID` =505 AND CONVERT( `NAME` USING utf8 ) = '' AND CONVERT( `BASMALA` USING utf8 ) = '?? ??? ????? ???????? ????????? '
Gruß Asra
Posted:
05. May 2008 13:02
by Nobbie
>PhpMyAdmin trägt aber nicht einfach ein, sondern nimmt eine Konvertierung vor. Das Ergebnis: eine Reihe von Fragezeichen.
Nein. PhpMyAdmin konvertiert gar nichts.
Das ist einzige eine Frage, wie Du den Zeichensatz im Browser definiert hast. Arabische Zeichen in einer Latin-Umgebung wird wohl nur mit Unicode gehen, ich weiß nicht, ob UTF-8 schon arabische Zeichen inkludiert.
Wie hast Du denn die Zeichen "erzeugt"? So einfach auf der Tastatur stehen sie ja nicht.
Posted:
05. May 2008 13:28
by Wiedmann
Habe schon mehrere Zeichensätze ausprobiert, nichts funktioniert.
a) Deine Tabelle/Spaten sollten die Collation utf8_gerneral_ci haben (bevor du da das erste mal Daten reintust)
b) Die Verbindungs-Collation von phpMyAdmin sollte auf das selbe eingestellt sein.
Hier der Code, den PhpMyAdmin erstellt:
Mit was und wie hast du denn das erste mal Daten in die DB reingetan (insert)?
Posted:
05. May 2008 13:56
by asra
Ja danke, das war's: Die Tabellenspalte war nicht im utf8-Format.
Jetzt bekomme ich die Texte per PhpMyAdmin in die DB.
Das "Problem" hat sich aber nun in die Ausgabe der Php-Datei verlagert:
Trotz
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
und utf8_decode bekomme ich wieder die Fragezeichen ...
Posted:
05. May 2008 15:12
by Wiedmann
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
und utf8_decode bekomme ich wieder die Fragezeichen ...
Warum willst du was nach iso-8859-1 konvertieren, wenn deine Webseite von sich behauptet sie spricht utf-8?
Das "Problem" hat sich aber nun in die Ausgabe der Php-Datei verlagert:
Dein Script muss der DB mit "SET NAMES" (Stichwort für MySQL Doku) mitteilen, dass du in utf-8 kommunizieren willst.
Posted:
06. May 2008 11:59
by asra
hm, mit SET NAMES ging's auch nicht. Vielleicht falsch eingesetzt; bin nicht firm in MySQL.
Was seltsamerweise funktioniert, ist
utf8_decode(utf8_encode($arabischer_text))
Was soll man davon halten?
Vielen Dank jedenfalls!
Posted:
06. May 2008 12:29
by Wiedmann
hm, mit SET NAMES ging's auch nicht. Vielleicht falsch eingesetzt;
Vielleicht. Wie benutzt du es denn genau?
Posted:
06. May 2008 12:39
by asra
das war mein Versuch:
$db_connection=@mysql_pconnect($dbserver, $dblogin, $dbpassword);
if(! $db_connection){
die("Fehler bei der Verbindung zur Datenbank!");
}
if (! mysql_select_db($dbname)) {
die("Fehler bei der Auswahl der Datenbank.");
}
mysql_query( "SET NAMES 'utf8'", $db_connection );