@Michael: Nachdem ich vorhin fast 20min einen sehr ausführlichen Beitrag fertig hatte und nach dem Klick auf "Antworten" feststellen musste, dass du dass Forum kurz offline gestellt hast, habe ich mich etwas geärgert
War halt zur falschen Zeit am falschen Ort
Dann, als das Forum wieder online war, habe ich mich aber gleich gefreut, dass sich in dieser Problematik hier etwas getan hat und ich sage schon mal ganz ehrlich: Danke!
Ich habe die Umstellung auf UTF-8 nun an einem "nicht ganz so produktiven" Board getestet und kann nun berichten:
- Das Script lief problemlos durch.
- Danach habe ich das informelle deutsche UTF-8-Sprachpaket installiert.
- Ergebnisse:
- Die (alten) Daten sind konvertiert.
- Im Quelltext erscheint als Encoding UTF-8.
- Leider wählt der Browser (Firefox und IE7) nicht automatisch die richtige Kodierung (was er z.B. bei mybboard.com tut)
- Stelle ich manuell UTF-8 ein, dann erscheint alles richtig, allerdings stellt sich das immer wieder auf ISO zurück (jedesmal, wenn eine Seite neu geladen wird).
- Stelle ich manuell auf UTF-8 und schreibe Beiträge, dann funktioniert scheinbar alles super (auch der "blöde EURO-Bug" ist weg).
Als Hinweis: Ich habe schon vorsichtshalber alle Caches im Admin-CP geleert, ebenso den Browsercache.
Ich habe das Plugin Übersicht installiert. Auch hier werden die Zeichen (wenn man den Browser manuell auf UTF-8 stellt) richtig dargestellt. Allerdings musste ich im ACP bei der Übersicht auf htmlspecialchars() anstelle htmlentities() umstellen.
Fazit: Das einzige was nicht funktioniert, ist dass der Browser automatisch die richtige Kodierung UTF-8 wählt. Das muss noch behoben werden. Ansonsten funktioniert die Konvertierung schon ganz passabel.
Ich hoffe, dieser Bericht ist insgesamt hilfreich. Bei Fragen stehe ich zur Verfügung. Das betreffende Forum lasse ich jetzt erstmal so, wie es ist - vielleicht kann das ja noch weiterhelfen.
EDIT: Das zeigt der W3C-Validator als Fehlermeldung und das wird auch der Schlüssel zur Lösung sein:
W3C-Validator schrieb:The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the <meta> element (utf-8). I will use the value from the HTTP header (iso-8859-1) for this validation.
Gruß
Boardie05
Hi, Michael!
Bei mir kam dies:
Zitat:Konvertierung des Datenbankencodings für MyBB
---------------------------------------------------------------
Modus: Konvertierung
Neues Encoding: UTF-8
Neues Encoding für MySQL: utf8
Neue Collation für MySQL: utf8_general_ci
mybb_adminlog ....................................................................................................................
mybb_adminoptions ....
mybb_adminsessions ...
mybb_announcements
mybb_attachments ...............................................................................................................................
mybb_attachtypes ...............
mybb_awaitingactivation
mybb_badword
mybb_badwords
mybb_banned
mybb_captcha ...............................................................................................................
mybb_custom_links ......
mybb_datacache
mybb_dbarc Invalid query: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Wie kann ich das beheben?
Ich hab mir die Datei angeschaut, aber ich werd aus dem Code nicht schlau. Bin einfach was Datenbank angeht totaler Anfägner.
Hab noch dies im Netz gefunden:
http://www.webdevity.de/forum/latin1---u...g-t39.html
Trau mich aber nicht es auszuprobieren.
... kann es sein das es an meiner MySQL Version liegt?
Zur Zeit ist bei mir noch MySQL 4.0.18 in Betrieb. Kann das zu dem Fehler geführt haben?
So, ich melde mich auch nochmal zu Wort:
Das Problem mit dem falschen Charset im HTTP-Header habe ich nun behoben. Ich habe ins Rootverzeichnis des MyBB einfach eine .htaccess - Datei angelegt, die folgende Zeile enthält:
Code:
AddDefaultCharset utf-8
Dann stimmen endlich die Kodierungen im HTML-Header und im HTTP-Header überein.Je nach Konfiguration des Webserver wird im HTTP-Header nämlich ISO-8859-1 als Standard gewählt und falls HTML- und HTTP-Header unterschiedlich sind, genießt (soll) die Angabe im HTTP-Header Vorrang.
Die richtige Angabe ist jetzt bei beiden:
Code:
Content-Type: text/html; charset=utf-8
Bei dem Forum, bei dem ich die Konvertierung auf UTF-8 getestet habe, funktioniert nun alles einwandfrei.
@Grauer Magier:
Bei mir wird die MySQL-Version 4.0.21 verwendet. Es kann natürlich sein, dass es da irgend einen Befehl oder eine Syntax gibt, die bei deiner Version nicht existiert bzw. nicht interpretiert werden kann. Mehr kann ich dazu leider auch nicht sagen, da ich mich mit MySQL nicht tiefgreifend auskenne.
Gruß
Boardie05
Danke dir trotzdem!
Hoffentlich kann Michael dazu noch was sagen.
... bei mir wurde soweit aber automatisch UTF-8 im Browser gewählt. Bist du sicher, dass du die aktuellen dazu angepassten Sprachdateien hochgeladen hast?
Ja, ich habe die Sprachdateien, die in dem Beitrag zusammen mit dem DB-Konvertierungstool installiert. Im generierten HTML-Quellcode erschien dann auch richtigerweise UTF-8 als Charset (jedoch nicht im HTTP-Header). Das o.g. Problem ging vom HTTP-Header aus und der hängt auch vom Webserver und dessen Konfiguration ab. Da ist dein Webserver wohl anders konfiguriert als der meines Hosters.
Hier kann man auch den HTTP-Header einer Webseite überprüfen, den man normalerweise ja nicht zu Gesicht bekommt (jedenfalls nicht im HTML-Quelltext):
http://www.andyhoppe.com/software/http-p...eader.php4
Gruß
Boardie05
P.S.: Lösche mal einige Pünktchen aus deinem Zitat oben, ich muss hier immer recht-links scrollen
@Grauer-Magier: Die betroffene Tabelle ist von einer Erweiterung, etc., zumindest gehört sie nicht zum MyBB selbst. Ich werde in Kürze eine überarbeitete Version des Konverters bereitstellen, ich melde mich dann nochmal in diesem Post.
Sofern noch nicht geschehen musst du deine Datenbank vor der nächsten Konvertierung wieder zurücksetzen, d.h. durch ein Backup auf den alten Stand bringen.
Edit: Bitte versuche es mal mit der angefügten Version.
Hi, MIchael!
Ich hab die Tabellen die das andere Script bearbeitet hatte durch die aus dem Backup ersetzt.
Nun kam folgendes:
Zitat:Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 71
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 72
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 73
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 74
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 75
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 76
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 77
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 78
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 79
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 80
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 81
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 82
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 83
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 84
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 85
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 86
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 87
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 88
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 89
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 90
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 91
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 92
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 93
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 94
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 95
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 96
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 97
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 98
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 99
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 100
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 101
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 102
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 103
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 104
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 105
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 106
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 107
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 108
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 109
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 110
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 111
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 112
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 113
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 114
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 115
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 116
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 117
Notice: Undefined variable: config in /home/httpd/vhosts/sterndeuter.org/httpdocs/forum/convert-encoding.php on line 118
Konvertierung des Datenbankencodings für MyBB
---------------------------------------------------------------
Modus: Konvertierung
Neues Encoding: UTF-8
Neues Encoding für MySQL: utf8
Neue Collation für MySQL: utf8_general_ci
mybb_adminlog
mybb_adminoptions
mybb_adminsessions
mybb_announcements
mybb_attachments
mybb_attachtypes
mybb_awaitingactivation
mybb_badword
mybb_badwords
mybb_banned
mybb_captcha
mybb_datacache
mybb_downloadcategories
mybb_downloads
mybb_events
mybb_favorites
mybb_forumpermissions
mybb_forums
mybb_forumsubscriptions
mybb_games
mybb_games_categories
mybb_games_champions
mybb_games_rating
mybb_games_scores
mybb_games_settings
mybb_groupleaders
mybb_helpdocs
mybb_helpsections
mybb_icons
mybb_joinrequests
mybb_macro
mybb_mailqueue
mybb_moderatorlog
mybb_moderators
mybb_modtools
mybb_mycode
mybb_pmarchive
mybb_polls
mybb_pollvotes
mybb_posts
mybb_privatemessages
mybb_profilefields
mybb_regimages
mybb_reportedposts
mybb_reputation
mybb_searchlog
mybb_sessions
mybb_settinggroups
mybb_settings
mybb_shouts
mybb_smilies
mybb_templategroups
mybb_templates
mybb_templatesets
mybb_themes
mybb_threadratings
mybb_threads
mybb_threadsread
mybb_upgrade_data
mybb_userfields
mybb_usergroups
mybb_users
mybb_usertitles
Alle Schritte durchgeführt.
Bitte löschen Sie dieses Skript vom Server!
Das Script war ungewöhnlich schnell fertig ... aber die Beiträge im Forum sind nicht auf UTF-8 konvertiert.
Was hab ich falsch gemacht?
Du hast nichts falsch gemacht und die Konvertierung sollte auch funktioniert haben. Es liegt am Skript, das muss ich noch ausbessern (hat aber keinen Einfluss auf die Funktionalität!).
Hi, Michael!
Aber die Themen und Beiträge sind gar nicht konvertiert worden.
Da steht bei Umlauten immernoch ein "�". ... oder muß ich das jetzt alles von hand ändern????
LG, GM!