Seite 1 von 1

Fehlermeldung bei kyrillischen Zeichen

Verfasst: 25.07.2010 12:42
von olle
Hallo,

in einem von mir mitbetreuten Forum sollen auch kyrillische Zeichen verwendet werden. Versuche ich, solche einzugeben, erhalte ich diese Fehlermeldung:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Incorrect string value: '\xD1\x84\xD0\xB8\xD1\x81...' for column 'post_text' at row 1 [1366]

SQL

INSERT INTO phpbb_posts (forum_id, poster_id, icon_id, poster_ip, post_time, post_approved, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_locked, topic_id) VALUES (22, 917, 0, '79.247.81.8', 1280053481, 1, 1, 1, 1, 1, '', 'Ein Test', 'Das ist nur ein Versuch:\n\nфисвуапршол', '049489135781addc9c68db243d90cc64', 0, '', '3cthnvwv', 1, 0, 4677)

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 1985
CALL: dbal_mysqli->sql_query()

FILE: posting.php
LINE: 1108
CALL: submit_post()
Seltsam ist, dass dieses Forum auf dem gleichen Server liegt wie meines - in meinem Forum kann ich die Zeichen aber ohne Probleme eingeben. Beide Foren sind auf dem aktuellen Stand.
Könnte das an einer Einstellung der Datenbank liegen?

Schönen Gruß
Olle

Re: Fehlermeldung bei kyrillischen Zeichen

Verfasst: 25.07.2010 19:17
von olle
Einen "Fehler" habe ich gefunden un behoben: die Tabelle phpbb_posts stand noch in der Kodierung latin-swedish,
habe sie auf utf8 umgestellt. Jetzt sind alle Tabellen in diesen Forum wie bei meinem kodiert, aber die Fehlermeldung kommt trotzdem (in meinem Forum nicht). Das ist mir nun völlig schleierhaft, für einen Tipp wäre ich wirklich dankbar.

Gruß
Olle

Re: Fehlermeldung bei kyrillischen Zeichen

Verfasst: 27.07.2010 18:35
von olle
Wenn ich es hier versuche:

Варум/Агутин, Савичева, Пугачёва, Газманов

so funktioniert es auch hier - ebenso wie in meinem Forum. Nur nicht auf der (Fast-) Parallelinstallation.

Bringt es überhaupt etwas, wenn ich die phpbb_posts von der Kollation latin_swedish auf UTF 8 umstelle?
Wie könnte ich sonst in phpMyAdmin die Kodierung UTF 8 erzwingen? Die Zeichen sind doch in jedem Fall in dieser Kodierung enthalten. Geht das evtl. mit einer SQL- Anweisung?
Hat niemand einen Hinweis? Ich finde einfach keine Lösung...

Gruß
Olle

Re: Fehlermeldung bei kyrillischen Zeichen

Verfasst: 27.07.2010 21:28
von Mahony
Hallo
Die Collation (Sortierung) spielt zuerst einmal überhaupt keine Rolle. Wichtig ist der verwendete Zeichensatz (CHARACTER SET).
Siehe dazu auch Die Umlautproblematik damit du die Zusammenhänge auch verstehst.

Mit diesem SQL-Befehl kannst du den Zeichensatz umstellen.

Code: Alles auswählen

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
P.S. table_name mit dem Namen der Tabelle ersetzen die geändert werden soll.


Grüße: Mahony

Re: Fehlermeldung bei kyrillischen Zeichen

Verfasst: 28.07.2010 19:11
von olle
Vielen Dank für Deinen Hinweis.

Ich werde das gleich mal testen und die Tabellen ändern, die in den Fehlermeldungen auftauchen.
Allerdings hatte ich schon mit dem phpMyAdmin über "Operationen" die Datenbank auf utf 8 gestellt - leider auch ohne Erfolg.
Mit der Umlautproblematik hatte ich mich schon mehr als befasst :wink:

Gruß
Olle

Re: Fehlermeldung bei kyrillischen Zeichen

Verfasst: 28.07.2010 19:29
von olle
Das hat's gebracht!

Meinen herzlichen Dank!

Gruß
Olle

Re: Fehlermeldung bei kyrillischen Zeichen

Verfasst: 29.07.2010 18:44
von olle
Ich hätte noch eine generelle Frage:

Wie kann man denn prüfen, in welcher Kodierung eine Tabelle gespeichert ist? Im phpMyAdmin habe ich dazu nichts gefunden. Versuche derzeit, mich näher mit SQL zu befassen, habe aber auch hier noch keine rechte Syntax gesehen, mit der ich das auslesen könnte.

Gruß
Olle