PhpMyAdmin und arabische Schrift

Und alles was mit phpMyAdmin seine Verwandtschaft findet hat hier seinen Platz.

PhpMyAdmin und arabische Schrift

Postby asra » 05. May 2008 10:52

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
asra
 
Posts: 4
Joined: 05. May 2008 10:43

Postby Nobbie » 05. May 2008 13:02

>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.
Nobbie
 
Posts: 6491
Joined: 09. March 2008 13:04

Postby Wiedmann » 05. May 2008 13:28

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)?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby asra » 05. May 2008 13:56

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 ...
asra
 
Posts: 4
Joined: 05. May 2008 10:43

Postby Wiedmann » 05. May 2008 15:12

<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.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby asra » 06. May 2008 11:59

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?
:wink:

Vielen Dank jedenfalls!
asra
 
Posts: 4
Joined: 05. May 2008 10:43

Postby Wiedmann » 06. May 2008 12:29

hm, mit SET NAMES ging's auch nicht. Vielleicht falsch eingesetzt;

Vielleicht. Wie benutzt du es denn genau?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby asra » 06. May 2008 12:39

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 );
asra
 
Posts: 4
Joined: 05. May 2008 10:43


Return to phpMyAdmin

Who is online

Users browsing this forum: No registered users and 1 guest