Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Hallo Root-Forum,
ich hab jetzt schon ne weile im Internet recherchiert & auch hier mal geschaut...aber bis auf die aussage -> "musst halt auf UTF-8" umstellen hab ich nicht wirklich was verwertbares gefunden.
Hab hier mal mein Problem...nach dem mein Server gehackt wurde, hab ich alles komplette neuinstalliert und dabei auch meine alten SQL-Dumps wieder eingespielt...und hatte prompt Umlautprobleme -> meine Dumps waren schon nicht ganz korrekt...
Jetzt habe ich das Dump meiner Video-Datenbank per Editor wieder auf "latin1" gebracht - alle umlaute wie ä,ö,ß stehen korrekt im Dump...den Dump habe ich importiert. In der Datenbank stehen die Umlaute jetzt auch korrekt drin...nur die Webseite zeigt jetzt das berühmte "�" an.
Wenn ich in der Video DB den Titel bearbeite, und statt des "�" einen ü eingebe - wird der Titel zwar korrekt angezeigt, aber in der Datenbank steht kein ü sonder kryptischer Schrott.
Meine Frage ist jetzt, wie & wo kann ich einstellen, das in der Datenbank, die Umlaute korrekt abgespeichert werder -> als ä,ü,ß usw.
Und die Webseite mir diese Umlaute auch korrekt anzeigt.
Ich möchte jetzt und in ferner Zunkunft nur Deutsche Seite hosten....brauche die unendliche möglichkeiten der Türkischen, arbaischen und sonst welcher Zeichen nicht...
Vielen Dank schon mal im vorraus.
ich hab jetzt schon ne weile im Internet recherchiert & auch hier mal geschaut...aber bis auf die aussage -> "musst halt auf UTF-8" umstellen hab ich nicht wirklich was verwertbares gefunden.
Hab hier mal mein Problem...nach dem mein Server gehackt wurde, hab ich alles komplette neuinstalliert und dabei auch meine alten SQL-Dumps wieder eingespielt...und hatte prompt Umlautprobleme -> meine Dumps waren schon nicht ganz korrekt...
Jetzt habe ich das Dump meiner Video-Datenbank per Editor wieder auf "latin1" gebracht - alle umlaute wie ä,ö,ß stehen korrekt im Dump...den Dump habe ich importiert. In der Datenbank stehen die Umlaute jetzt auch korrekt drin...nur die Webseite zeigt jetzt das berühmte "�" an.
Wenn ich in der Video DB den Titel bearbeite, und statt des "�" einen ü eingebe - wird der Titel zwar korrekt angezeigt, aber in der Datenbank steht kein ü sonder kryptischer Schrott.
Meine Frage ist jetzt, wie & wo kann ich einstellen, das in der Datenbank, die Umlaute korrekt abgespeichert werder -> als ä,ü,ß usw.
Und die Webseite mir diese Umlaute auch korrekt anzeigt.
Ich möchte jetzt und in ferner Zunkunft nur Deutsche Seite hosten....brauche die unendliche möglichkeiten der Türkischen, arbaischen und sonst welcher Zeichen nicht...
Vielen Dank schon mal im vorraus.
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Wie wurde der Dump genau angelegt?
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Der Dump wurde mit dem dem Script "automysqlbackup" angelegt...Joe User wrote:Wie wurde der Dump genau angelegt?
Nun ja - irgendwie hakt es hier - PhpMyAdmin läuft auf Deutsch aber mit UTF-8 (hab es noch nicht gefunden, wo man das default mäßig umstellen kann)matzewe01 wrote:Stell die Koaititon der DB und auch der Tabellen auf latin 1.
Sofern der Zeichensatz vorher auch Latin1 war, sollte es klappen.
Der MySQL-Zeichensatz ist UTF-8 obwohl ich die my.cnf auf latin1 angepasst hatte...genauso der Zeichensatz / Kollation der MySQL-Verbindung steht default auf UTF-8, obwohl ich der Meinung war, das auch in der my.cnf auf latin1 gestellt habe. Und die importierte Datenbank hat latin1_swedish_ci als Kollation...
Ich denke, irgendwie muss ich die 3 Sachen, die noch UTF-8 sind, auf latin1 umgestellen - aber wie - die my.cnf (unter /etc/mysql/my.cnf) schon angepasst hatte...aber anscheinend werden die änderungen nicht angezogen... :?
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Wenn im Dump die Kollationen und Charsets auf latin1 stehen, dann importiere den unveränderten Dump (ohne Deine Editor-Manipulation) mittels:
Code: Select all
mysql -uroot -p --default-character-set=latin1 < /backup/mysqldump.sql
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
So, das habe ich jetzt gemacht. Der "orginal" Dump ist wieder in der Datenbank . In der Datenbank selbst jetzt jetzt alles mit ä ö ü usw. -> beispiel:Joe User wrote:Wenn im Dump die Kollationen und Charsets auf latin1 stehen, dann importiere den unveränderten Dump (ohne Deine Editor-Manipulation) mittels:Code: Select all
mysql -uroot -p --default-character-set=latin1 < /backup/mysqldump.sql
Code: Select all
Stealing Rembrandt - Klauen für Anfänger
Code: Select all
Stealing Rembrandt - Klauen f�r Anf�nger
Wenn ich jetzt in der Webseite den Titel editiere - anstatt "f?r" also "für" eintrage, steht das hier in der Datenbank:
Code: Select all
Stealing Rembrandt - Klauen für Anf�nger
Code: Select all
Stealing Rembrandt - Klauen für Anf�nger
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Das Problem ist wahrscheinlich dass der Apache versucht UTF auszuliefern. Poste doch mal einen Link.
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Hier mal der Link http://videodb.ej28.de/index.php zum Problem. Wäre echt klasse wenn ich das irgendwie, wieder hinbekommen würde....oxygen wrote:Das Problem ist wahrscheinlich dass der Apache versucht UTF auszuliefern. Poste doch mal einen Link.
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Es ist wie von oxygen vermutet, der Apache sendet "Content-Type: text/html; charset=UTF-8". Die Ursache liegt vermutlich in einem entsprechendem "header()"-Aufruf im PHP-Script (man grep).
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Wenn man sich z.B. folgendes anschaut:
Wahrscheinlich steht in der Apache Konfiguration AddDefaultCharset UTF-8. Lösche diese Zeile und das Problem sollte gelöst sein.
Fällt auf, dass der Apache den falschen Charset ( UTF-8 ) sendet, obwohl es in der Datei richtig deklariert ist.# wget --save-headers -O- -q http://videodb.ej28.de/index.php | head -n 25
HTTP/1.1 200 OK
Date: Tue, 24 Jul 2007 13:29:53 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch7
X-Powered-By: PHP/5.2.0-8+etch7
Set-Cookie: PHPSESSID=58a0b1d0c3a0ae08c9dd8fc067b3b4e4; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: VDBusername=deleted; expires=Mon, 24-Jul-2006 13:29:52 GMT; path=/
Set-Cookie: VDBpassword=deleted; expires=Mon, 24-Jul-2006 13:29:52 GMT; path=/
Set-Cookie: VDBuserid=10000; path=/
Set-Cookie: VDBusername=deleted; expires=Mon, 24-Jul-2006 13:29:52 GMT; path=/
Set-Cookie: VDBpassword=deleted; expires=Mon, 24-Jul-2006 13:29:52 GMT; path=/
Set-Cookie: VDBuserid=10000; path=/
Connection: close
Content-Type: text/html; charset=UTF-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de" dir="ltr">
<head>
<title>VideoDB</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="VideoDB" />
<link rel="stylesheet" href="templates/modern/compact.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="VideoDB RSS" href="index.php?export=rss" />
Wahrscheinlich steht in der Apache Konfiguration AddDefaultCharset UTF-8. Lösche diese Zeile und das Problem sollte gelöst sein.
Last edited by oxygen on 2007-07-24 19:21, edited 1 time in total.
-
- Posts: 97
- Joined: 2005-10-29 04:12
- Location: Planet Erde
Re: Kollation, Charsets, altes Dump - neues MySQL - alles irgendwie verfriemelt....
Hallo
bei apache2.2 gibt es in /etc/apache2/conf.d/charset
"AddDefaultCHarset UFT-8"
warum auch immer... zumindestens bei mir immer vorhanden gewesen "Debian"
Gruß
bei apache2.2 gibt es in /etc/apache2/conf.d/charset
"AddDefaultCHarset UFT-8"
warum auch immer... zumindestens bei mir immer vorhanden gewesen "Debian"
Gruß