Anleitung zur Konvertierung in UTF-8?

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
ocj
Regular
Posts: 50
Joined: Sat Mar 18, 2006 11:58 am
Contact:

Anleitung zur Konvertierung in UTF-8?

Post by ocj »

Gibt es irgendwo eine einfache Anleitung, in der erklärt wird, wie man sein Blog inkl. aller Einträge von ISOXXX auf UTF-8 umstellen kann?

Oder gibt es gar eine s9y-Funktion, die das kann?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Anleitung zur Konvertierung in UTF-8?

Post by garvinhicking »

Hi!

Da dies sehr viel Datenbankgeraffel beinhaltet, gibt es leider keine "Out of the Box" Funktion.

Ich hatte mal einiges zu dem Thema geschrieben, leider finde ich es aber nicht wieder. :(

Die Essenz war:

1. Datenbank-Dump (SQL) erstellen - Nur DATEN nicht die Struktur.
2. SQL-Datei ins UTF-8 Format umstellen
3. Alle DB Tabellen auf UTF-8 Collation umstellen und Tabellen leeren
4. Den Datenbankdump wieder importieren
5. Serendipity auf UTF-8 konfigurieren.

Hört sich komplizierter an als es ist. :) Man kann Schritt 1+3 kombinieren wenn man im SQL-Dump einfach die Collations z.B. von latin1 auf utf8 per suchen und ersetzen umschreiben und dann den kompletten Dump neu hochlädt...

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ocj
Regular
Posts: 50
Joined: Sat Mar 18, 2006 11:58 am
Contact:

Post by ocj »

Wie muß ich denn die Daten dumpen?

Als "vollständige INSERTs" oder als "erweiterte INSERTs" oder gar anders?

Ich habe von SQL keinen Plan, möchte aber heute endlich meine Datenbank umstellen.

Danke im Voraus!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Wie Du die Daten dumpst ist egal. Vollständige INSERTs sind einfacher zu warten in einem Editor. :)

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ocj
Regular
Posts: 50
Joined: Sat Mar 18, 2006 11:58 am
Contact:

Post by ocj »

Ok, ich habe vollständige INSERTS gedumpt.

Nun finde ich dort aber keine Einträge, die auf latin hinweisen.

Ich nehme an für
Man kann Schritt 1+3 kombinieren wenn man im SQL-Dump einfach die Collations z.B. von latin1 auf utf8 per suchen und ersetzen umschreiben und dann den kompletten Dump neu hochlädt...
muß man dann doch Daten und Struktur dumpen. Richtig?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Eine Umstellung auf UTF-8 Collations mit dem genantnen Vorgehen klappt nur wenn Du MySQL >= 4.1 benutzt und ein aktuelles phpMyAdmin...
muß man dann doch Daten und Struktur dumpen. Richtig?
Jau.

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ocj
Regular
Posts: 50
Joined: Sat Mar 18, 2006 11:58 am
Contact:

Post by ocj »

Noch eine dumme Frage:

Muß ich latin1 durch "utf8" oder durch "utf-8" ersetzen?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Durch 'utf8'.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ocj
Regular
Posts: 50
Joined: Sat Mar 18, 2006 11:58 am
Contact:

Post by ocj »

Soweit hat alles super geklappt.

Ich habe nur noch ein kleines Problem. Auf den Artikel-Seiten erscheint folgender Text:
Dieser Eintrag wurde geschrieben von del.icio.us am Mittwoch, 9. August 2006 um 00:22. Sie k?nnen einen Kommentar hinterlassen, oder ein Trackback von Ihrem eigenen Blog senden. Alle neuen Kommentare werden moderiert, bevor sie auf dieser Seite erscheinen.
Beispiel: http://www.yadayada.de/167-links-for-2006-08-08.html

Warum steht da nicht "können"? Wo kann ich das ändern?

Vielen Dank, Garvin! Du bist echt der Grund für s9y!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Hm, das kann ich auf der von Dir genannten URL nicht sehen? Sowas kann passieren wenn ein Template eine Sprachdatei nicht als UTF-8 Datei benutzt hat oder wenn Du den Text manuell in einer .tpl datei nicht im UTF-8 Format gespeichert hast?

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ocj
Regular
Posts: 50
Joined: Sat Mar 18, 2006 11:58 am
Contact:

Post by ocj »

Noch ein kleiner Tip von mir:

Ich habe mit zwei Datenbanken gearbeitet. Das Original und die Zieldatenbank. Wäre bei der Konvertierung was schief gegangen, hätte ich wieder auf die ursprüngliche Datenbank umgestellt (im laufenden Betrieb).

So fällt das Blog nicht mal eine Minute aus.

ocj
edufl13
Posts: 2
Joined: Fri Jun 15, 2007 3:40 pm

Post by edufl13 »

Hab das gerade mal versucht:
CREATE TABLE `s9y_exits` (
`entry_id` int( 11 ) NOT NULL default '0',
`day` date NOT NULL ,
`count` int( 11 ) NOT NULL default '0',
`scheme` varchar( 5 ) default NULL ,
`host` varchar( 128 ) NOT NULL ,
`port` varchar( 5 ) default NULL ,
`path` varchar( 255 ) NOT NULL default '',
`query` varchar( 255 ) default NULL ,
PRIMARY KEY ( `host` , `path` , `day` , `entry_id` ) ,
KEY `exits_idx` ( `entry_id` , `day` , `host` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8;

MySQL meldet: Dokumentation
#1071 - Specified key was too long; max key length is 1000 bytes
Bei MySQL gibts auch einen Bug hierzu: http://bugs.mysql.com/bug.php?id=4541

Muss das Feld eigentlich so groß sein? :)
Post Reply