Problem beim Speichern von Texten mit Umlauten
am 06.06.2007 13:07:03 von Thomas BarthHallo,
Kurznachrichten (SMS) sollen in einer MySQL-Datenbank gespeichert
werden. Die Nachricht wird encodiert per URL an ein PHP-Skript
übergeben, im Script decodiert und gespeichert. In der Datenbank sind
die Nachrichten allerdings vor dem ersten Auftreten eines Umlautes
abgeschnitten.
/smsout.php?...&message=Hier+die+Kurznachricht+f%FCr+den+Kun den
$message = getValue($POSTGET, 'message', 'DefaultMessage');
// getValue = Funktion, um den Wert zu einem Parameter zu ermitteln mit
// Übergabe eines Standardwertes, wenn Parameter nicht existiert
$message = urldecode($message);
echo "$message";
Ausgabe: Hier die Kurznachricht für den Kunden
....
// Query
$query = sprintf("INSERT INTO messages(..., message, ...) " .
"VALUES(..., '%s', ...)",
...,
mysql_real_escape_string($message),
...);
mysql> select message from messages;
+--------------------------+
| message |
+--------------------------+
| Hier die Kurznachricht f |
mysql> show variables;
....
| character_set_client | utf8|
| character_set_connection | utf8|
| character_set_database | utf8|
| character_set_filesystem | binary |
| character_set_results | utf8|
| character_set_server | utf8|
| character_set_system | utf8|
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
....
Hat jemand eine Idee, warum Nachrichten mit Umlauten nicht vollständig
in der Datenbank abgelegt werden können?
Gruß,
Thomas B