Willkommen im TP-Hilfe-Forum! Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst.
Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team.
hallo, bin schon fast am zusammenbrechen, die umlaute kommen wieder nicht richtig, die umbrüche werden nicht berücksichtigt.
hier meine code-teile:
mysql-verbindung:
PHP-Code:
@mysql_connect($host, $usersql, $passwd, $table) OR die(mysql_error());
mysql_select_db($database) OR die(mysql_error());
mysql_query("SET NAMES 'utf8'");
dann der header:
PHP-Code:
<?php
header ("Content-Type: text/html; charset=utf-8");
include ("config.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
MySQL 4.0.25, phpMyAdmin 2.5.6
__________________
computer tun nur das was man ihnen sagt, meistens
was heisst dokumente als utf-8 abspeichern?
es sind php dateien, darin die mysql-abfragen, und diese sollen die inhalte ausgeben. in phpmyadmin sieht alles einwandfrei aus, nur die ausgabe macht � bei umlauten
__________________
computer tun nur das was man ihnen sagt, meistens
Das wäre imho ok, ich arbeite aber nicht mit DW.
Nur musst Du nun aufpassen, das ist ja die Vorgabe. Nun mag es sein, dass DW bei einer Speicherung als ISO, dieses nun weiterhin beibehält.
Wenn dem so ist, weiß ich aber nicht genau, wie man das dann unter DW ändert ... ggf. hilft Dir die Hilfe da weiter.
Wenn Du das so machst, hast du lediglich erreicht, das Dein angegebenes Charset im Kopf der Datei automatisch auf utf-8 steht. Das Dokument selber ist aber noch nicht in utf-8. Testen kannst Du das, wenn du die html-Seite mit dem Editor von Windows öffnest. Steht hier nicht gleich utf-8 in der Codierung, ists auch keine. Aber, es gibt abhilfe, vom DW.
Mach deine Einstellungen im DW wie auf dem Bild, und alles Klappt. Dann zeigt auch der Win-Editor sofort die Codierung utf-8 an.
Die DW-Hilfe sagt folgendes:
Zitat:
Wenn Sie Unicode (UTF- als Standardkodierung auswählen, wählen Sie auch ein Unicode-Normalisierungsformular aus.
Es gibt vier Unicode-Normalisierungsformulare. Das wichtigste ist dabei das Normalisierungsformular C, denn es ist das im Zeichenmodell für das World Wide Web am häufigsten verwendete Formular. Macromedia bietet aus Gründen der Vollständigkeit darüber hinaus drei weitere Unicode-Normalisierungsformulare.
In Unicode gibt es einige Zeichen, die sich zwar visuell ähneln, im Dokument aber auf unterschiedliche Art und Weise gespeichert werden können. So kann beispielsweise das Zeichen "ë" als einzelnes Zeichen "ë" oder als reguläres lateinisches Zeichen + Kombinierungsumlaut dargestellt werden. Ein Unicode-Kombinierungszeichen ist ein Zeichen, das zusammen mit dem davor stehenden Zeichen verwendet wird, damit der Umlaut oberhalb des lateinischen "e" angezeigt wird.
Beim Normalisieren wird sichergestellt, dass alle Zeichen, die in unterschiedlichen Formularen gespeichert werden können, mit dem gleichen Formular gespeichert werden können, d. h., alle "ë"-Zeichen in einem Dokument werden in einem Dokument als einzelner Umlaut "e" oder als "e" + Kombinierungsumlaut und nicht in beiden Formen gespeichert.
Weitere Informationen zur Unicode-Normalisierung und den spezifischen verwendbaren Formularen finden Sie auf der Unicode-Website unter www.unicode.org/reports/tr15.
Wenn Sie Unicode (UTF- als Standardkodierung auswählen, können Sie durch Auswählen der Option Unicode-Signatur (BOM) einschließenein Byte Order Mark (BOM) im Dokument aufnehmen.
Ein BOM sind 2 bis 4 Bytes am Anfang von Text, die eine Datei als Unicode und darüber hinaus die Byte-Folge der nachfolgenden Bytes identifizieren. Da UTF-8 keine Byte-Folge hat, haben Sie die Wahl, UTF-8 BOM hinzuzufügen. Bei UTF-16 und UTF-32 ist dies obligatorisch.
__________________
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!
MySQL 4.0.x ist gerade in Sachen utf8 noch sehr rudimentär.
Das Du "SET NAMES" sendest heißt bei dieser Version noch lange nicht, dass es auch richtig ausgeführt wird. Überprüfe mittels "SHOW VARIABLES LIKE 'character_set' ", ob die Clientverbindung nun tatsächlich auf utf8 steht.
Falls nicht hilft nur ein Update der MySQL-Version.
Die Überlegungen zu einer falsch gespeicherten PHP-Datei greifen hier bestimmt nicht, da die darzustellenden Inhalte ja aus der Datenbank kommen.
mach mal ne kopie deiner DB, dann einen dump, öffne den dump mit dem editor und speicher mal als uft-8 ab. Dann den Dump mit phpMyAdmin wieder einspielen. Hab ich alles schon erlebt, leider..
__________________
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!
Na, da hast Du doch den Grund und die Lösung.
Von MySQL-Versionen 4.0.x rate ich überall dringend ab. Wie Du hier siehst verhält sich die Version nicht so, wie erwartet. Teste das mal lokal unter z.B. Xampp mit einer aktuelleren MySQL-Version. Ich vermute, dass es dann ordnungsgemäß funktioniert.
@stephanf: dump gemacht, im editor geöffnet, abgespeichert mit codierung utf-8, sql von datei - fehler,
"Möglicherweise haben Sie einen Bug im SQL-Parser entdeckt. Bitte überprüfen Sie Ihre Abfrage genaustens, insbesondere auf falsch gesetzte oder nicht geschlossene Anführungszeichen. Eine weitere Ursache könnte darin liegen, dass Sie versuchen eine Datei mit binären Daten, welche nicht von Anführungszeichen eingeschlossen sind, hochzuladen. Sie können alternativ versuchen Ihre Abfrage über das MySQL-Kommandozeileninterface zu senden. Die MySQL-Fehlerausgabe, falls vorhanden, kann Ihnen auch bei der Fehleranalyse helfen. Falls Sie weiterhin Probleme haben sollten oder der Parser dort versagt, wo die Kommandozeile erfolgreich ist, so reduzieren Sie bitte Ihre Abfrage auf den Befehl, welcher die Probleme verursacht, und senden Sie uns einen Bugreport mit den Datenausschnitt, den Sie weiter unten auf dieser Seite finden.:
----AUSSCHNITTSANFANG----
eNptjs1Og0AUhffzFGdhUprQKYyFtJO4QDKpjcOPQGvqBtCiJWKLQJvWV+vCR/IVBGOMi+Zubu75
7jlHBIEXcNg6bAYpXA4dDOySkTBq7ydC7EXIcTFbcdTvRZlWdVbRIn+k5bpU92DUpIy2H5o2Gmps
yEzoJh8ZnI1RZG8TiEOJC+IcwzvJMaIaZQaZhwG8UIU1FW6kYiHapPt8A8d7mElpwaAa8R2Lt+4G
NYl/43eM6oWdQzuQ+WZ3INJypxyrbJDX28F4bEwGOvmJ+Tp92oGwIoHIupYCSVx/xGW1XcWvaZNA
IUCSrxLkm0bR9T5cL4I7l7L1ek53RYOe1lM7qMmbrEiwT6undVopzDDOwb9sdmhiTU/QLX/UP4md
k+rtpm7yl6w+I/rBzLGCJW7FElC6xn3SR7T0xZVznIWW8w26kntr
----AUSSCHNITTSENDE----
----BEGINN DER AUSGABE----
ERROR: C1 C2 LEN: 1 2 232
STR: »
CVS: $Id: sqlparser.lib.php,v 2.6.2.2 2004/02/26 16:45:28 lem9 Exp $
MySQL: 4.0.25
USR OS, AGENT, VER: Win MOZILLA 5.0
PMA: 2.5.6
PHP VER,OS: 4.4.4 Linux
LANG: de-iso-8859-1"
@dsb: der bekannte will nicht wechseln, seine domain liegt schon seit ewigkeiten bei prosite, er will einfach nicht weg.
übrigens, totalcommander hat im lister auch schöne text-option, er zeigt direkt wie die datei codiert ist
__________________
computer tun nur das was man ihnen sagt, meistens
@dsb: der bekannte will nicht wechseln, seine domain liegt schon seit ewigkeiten bei prosite, er will einfach nicht weg.
Er soll ja auch nicht den Hoster wechseln. Der Hoster soll lediglich die MySQL-Version aktualisieren oder den Kunden intern auf einen anderen MySQL-Sever umziehen.
P.S.: Nimm mal für das Backup und Restore unseren MySQLDumper. Der macht das alles richtig mit den Charsets.