Thread Perl speichert nicht als UTF-8 in MySQL DB (5 answers)
Opened by roooot at 2009-05-17 21:12

roooot
 2009-05-17 21:12
#121642 #121642
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Hi

ich habe folgendes Problem. Ich empfange Daten mit CGI und wandele dann das Empfangen JSON Objekt in ein Perl Objekt mit
Code (perl): (dl )
$json = new JSON->allow_nonref->utf8(1)->decode($query->param('json'));
um. Anschließend wird der Wert mit DBI in die Datenbank geschrieben. Das komisch nur: Der Charset ist falsch. Es werden definitiv UTF-8 Werte per Json an das Script geschickt. Aber in der Datenbank tauchen dann wieder kryptischen Zeichen auf, sprich es wird dort kein UTF-8 codierter Wert gespeichert. Wenn ich aber über phpMyAdmin einen Wert in der DB speichere, funktionen die Umlaute tadellos.
Code: (dl )
UPDATE `projekte`.`ab2_user_home` SET `street` = 'Beispiel Ä' WHERE `ab2_user_home`.`id` =1 AND CONVERT( `ab2_user_home`.`street` USING utf8 ) = 'Beispiel ä' LIMIT 1;


Wo ist also das Problem? Bei der DB oder im Script? Kollation der DB ist utf8_general_ci.


Vielen dank für Hilfe
Viele Grüße :)

View full thread Perl speichert nicht als UTF-8 in MySQL DB