DataFox
Erfahrenes Mitglied
Hi Leute
Ich habe bei 1&1 eine MySQL 4.0 Datenbank. Höchst seltsam ist, das ich nirgends erfahren kann auf welchem Charset die DB läuft. Lässt sich auch nicht einstellen!
Das Problem ist um so seltsamer: Meine Website läuft mit charset=ISO-8859-15. Wenn ich über ein Formular nun Umlaute eingebe und in der DB speichere, sehe ich die Umlaute in phpmyadmin total zerfetzt! Auch auf meiner Website kommen sie zerfetzt raus (seltsame hyroglyphen). Wenn ich in phpmyadmin den Datensatz bearbeite und die Umlaute neu eintippe, und speichere, sehen sie darauf hin richtig aus. Auch auf der Website.
Im Header von PHPmyadmin ist ein charset=iso-8859-1 eingestellt. Aber das hier macht mir ernsthafte Sorgen: Im Seitenquelltext von phpmyadmin kommt ein wildes gemisch von charsets vor:
mal de-iso-8859-1, mal collation_connection=utf8_unicode_ci
daraus schließe ich, das die DB mit utf8_unicode_ci läuft.
Was definitiv nicht funktioniert ist, das ich im header meiner website UTF-8 als Charset eintrage. Dann nämlich sind *alle* sonderzeichen und umlaute zerschossen.
Interessant: Wendet man beim Output in PHP utf8_decode() auf die Felder des Datensatzes an, klappt es. Aber erstens wäre es sehr lästig auf jedes Feld immer utf8_decode() anzuwenden und zweitens klappt es nicht bei Dingen, die per Ajax in den Content geholt werden - denn da ist es genau anders herum!
Kann man beim Verbindungsaufbau mit MySQL der DB irgendwie befehlen das alle Rückmeldungen nach charset ISO-8859-15 codiert werden sollen
Habt Ihr eine Idee was man hier tun kann/muss damit es läuft?
Gruß
Laura
Ich habe bei 1&1 eine MySQL 4.0 Datenbank. Höchst seltsam ist, das ich nirgends erfahren kann auf welchem Charset die DB läuft. Lässt sich auch nicht einstellen!
Das Problem ist um so seltsamer: Meine Website läuft mit charset=ISO-8859-15. Wenn ich über ein Formular nun Umlaute eingebe und in der DB speichere, sehe ich die Umlaute in phpmyadmin total zerfetzt! Auch auf meiner Website kommen sie zerfetzt raus (seltsame hyroglyphen). Wenn ich in phpmyadmin den Datensatz bearbeite und die Umlaute neu eintippe, und speichere, sehen sie darauf hin richtig aus. Auch auf der Website.
Im Header von PHPmyadmin ist ein charset=iso-8859-1 eingestellt. Aber das hier macht mir ernsthafte Sorgen: Im Seitenquelltext von phpmyadmin kommt ein wildes gemisch von charsets vor:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de" dir="ltr">
<head>
<title>phpMyAdmin 2.6.4-pl3 - phpmyadmin.1und1.de</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="./css/phpmyadmin.css.php?lang=de-iso-8859-1&js_frame=right" />
</head>
<script type="text/javascript">
<!--
document.writeln('<frameset cols="200,*" rows="*" border="1" frameborder="1" framespacing="1" name="mainFrameset" id="mainFrameset">');
document.writeln(' <frameset rows="138, *" framespacing="0" frameborder="0" border="0" name="leftFrameset" id="leftFrameset">');
document.writeln(' <frame src="queryframe.php?lang=de-iso-8859-1&server=1&collation_connection=utf8_unicode_ci&hash=55fc67e75522c3238867f1f26aa8ac941204459898" name="queryframe" frameborder="0" scrolling="no" id="leftQueryframe" />');
document.writeln(' <frame src="left.php?lang=de-iso-8859-1&server=1&collation_connection=utf8_unicode_ci&hash=55fc67e75522c3238867f1f26aa8ac941204459898" name="nav" frameborder="0" id="leftFrame" />');
document.writeln(' </frameset>');
document.writeln(' <frame src="main.php?lang=de-iso-8859-1&server=1&collation_connection=utf8_unicode_ci" name="phpmain55fc67e75522c3238867f1f26aa8ac941204459898" border="0" frameborder="0" style="border-left: 1px solid #000000;" id="rightFrame" />');
document.writeln(' <noframes>');
document.writeln(' <body bgcolor="#FFFFFF">');
document.writeln(' <p>phpMyAdmin arbeitet besser mit einem <b>Frame</b>-fähigen Browser.</p>');
document.writeln(' </body>');
document.writeln(' </noframes>');
document.writeln('</frameset>');
//-->
</script>
mal de-iso-8859-1, mal collation_connection=utf8_unicode_ci
daraus schließe ich, das die DB mit utf8_unicode_ci läuft.
Was definitiv nicht funktioniert ist, das ich im header meiner website UTF-8 als Charset eintrage. Dann nämlich sind *alle* sonderzeichen und umlaute zerschossen.
Interessant: Wendet man beim Output in PHP utf8_decode() auf die Felder des Datensatzes an, klappt es. Aber erstens wäre es sehr lästig auf jedes Feld immer utf8_decode() anzuwenden und zweitens klappt es nicht bei Dingen, die per Ajax in den Content geholt werden - denn da ist es genau anders herum!
Kann man beim Verbindungsaufbau mit MySQL der DB irgendwie befehlen das alle Rückmeldungen nach charset ISO-8859-15 codiert werden sollen
Habt Ihr eine Idee was man hier tun kann/muss damit es läuft?
Gruß
Laura