[GastForen Programmierung/Entwicklung PHP und MySQL MySQL und UTF-8: Manchmal klappt's, manchmal nicht

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

MySQL und UTF-8: Manchmal klappt's, manchmal nicht

Tömsken
Beiträge gesamt: 720

26. Nov 2007, 12:03
Beitrag # 1 von 6
Bewertung:
(1498 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi.
Ich habe momentan ein übles Problem mit MySQL 4.1.10a und PHP 4.
Ich habe eine Website, deren Text-Inhalte aus einer DB kommen, kürzlich auf UTF-8 umgestellt. Alle PHP-Scripts wurden angepasst und die Collations (utf8_unicode_ci) der DB ebenfalls.

Nun werden die Inhalte willkürlich - zumindest habe ich noch keine Regel erkannt - meistens wie gewünscht als UTF-8 richtig angezeigt, aber manchmal leider auch als "?". Die "?" stehen im Quellcode der Web-Seite. Ein Reload oder der Besuch anderer Seiten richtet's dann wieder.

Ich bin ziemlich ratlos... würde mich deshalb über jegliche Anregungen/ Hinweise freuen!

Danke, Tom
X

MySQL und UTF-8: Manchmal klappt's, manchmal nicht

Intermedia
Beiträge gesamt: 1287

26. Nov 2007, 12:26
Beitrag # 2 von 6
Beitrag ID: #324258
Bewertung:
(1490 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Tom,

ist der Zeichensatz im HTML auch auf UTF8 gesetzt?

Gruß Sven


als Antwort auf: [#324250]

MySQL und UTF-8: Manchmal klappt's, manchmal nicht

Tömsken
Beiträge gesamt: 720

26. Nov 2007, 12:38
Beitrag # 3 von 6
Beitrag ID: #324266
Bewertung:
(1488 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Yep.

Per PHP sende ich:
header( 'content-type: text/html; charset=UTF-8' );

Im <head>-Bereich steht als erstes:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

Wenn's Form-Tags gibt (meistens) dann:
<form accept-charset="UTF-8" ...>

Nach mysql_connect() sende ich:
mysql_query( 'SET NAMES "utf8"', $db_con_id );
mysql_query( 'SET CHARACTER_SET "utf8"', $db_con_id );

Vorgabe-Kollation für die gesamte DB ist "utf8_unicode_ci"

Alle char/varchar/enum/text-Datenfelder haben ebenfalls die Kollation "utf8_unicode_ci".


Als "Problemzonen" könnte ich mir vorstellen:
1. MySQL 4 hat vielleicht ein generelles Problem mit Unicode
2. Die DB hatte ursprünglich die Kollation "Latin 1"


als Antwort auf: [#324258]

MySQL und UTF-8: Manchmal klappt's, manchmal nicht

Intermedia
Beiträge gesamt: 1287

26. Nov 2007, 13:08
Beitrag # 4 von 6
Beitrag ID: #324278
Bewertung:
(1480 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Tom,

hmm....... das klinge so als ob die Inhalte der DB nicht alle auf UTF8 umgestellt sind.

Irgendwie kommt mir das bekannt vor. Ich hab mir dann von der alten DB den Dump gezogen, in einem Editor geöffnet und dann als UTF8 wieder abgespeichert und den Dump wieder eingespielt. Dann war wieder alles ok.

Ansonsten fällt mir auf Anhieb hierzu auch nichts mehr ein.

Gruß Sven


als Antwort auf: [#324266]

MySQL und UTF-8: Manchmal klappt's, manchmal nicht

Tömsken
Beiträge gesamt: 720

26. Nov 2007, 13:15
Beitrag # 5 von 6
Beitrag ID: #324281
Bewertung:
(1474 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Sven,

so 'ne Dump-Geschichte habe ich als Versuch auch noch auf dem Plan - aber ziemlich weit unten, da ich es mit rund 700 MB und vielen Tabellen zu tun habe. Da machen die meisten Editoren die Grätsche...

Bye, Tom


als Antwort auf: [#324278]

MySQL und UTF-8: Manchmal klappt's, manchmal nicht

Intermedia
Beiträge gesamt: 1287

26. Nov 2007, 13:43
Beitrag # 6 von 6
Beitrag ID: #324292
Bewertung:
(1469 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Tom,

ja das ist durchaus verständlich bei der DB Größe. Vermutlich wirst du aber da nicht herum kommen.

Na mal sehen ob da noch jemand eine gute Idee hat, würde mich auch mal interessieren.

Gruß Sven


als Antwort auf: [#324281]
X