UTF-8 in MySql / PHP / HTML

Seppi123

Erfahrenes Mitglied
Habe heute schon viel gegooglet aber es kam einfach nichts brauchbares

Habe das hier gefunden (bei Google) aber es hilft nichts, da
diese Zeichen, weil wohl der falsche Charset ausgewählt wird,
noch da sind

Code:
header('Content-Type: text/html; charset=utf-8');


$conID = mysql_connect($server, $username, $password);
mysql_select_db($database);
mysql_query("SET NAMES 'utf8'", $conID);


<meta http-equiv="content-type" content="text/html; charset=UTF-8">

Und noch die .htaccess Variante:

Code:
# Zeichenkodierung fuer HTML und CSS. Sollte konsistent sein.
AddType text/html;charset=utf-8 .html
AddType text/css;charset=utf-8 .css
AddType text/php;charset=utf-8 .php

Nichts hilft :(

Ich hoffe ihr könnt mir Tipps , Denkanstöße geben, wie das
Problem beseitigt wird....
 
Mh, die Frage ist doch, wie die Daten in deiner Datenbank gespeichert sind. Dort musst du auch den Zeichensatz als UTF-8 einstellen. Ansonsten wäre noch denkbar, dass der Texteditor, mit dem du deine Dokumente bearbeitest, die Dateien nicht mit UTF-8 abspeichert.
 
Ich benutze notepad++ als editor
Mit dem editor gabs noch nie probleme...

In der DB habe ich schon alle utf-8 kollationen durch probiert :(


Falls die Nachricht so abgespackt aussieht, bin mit handy online...
 
Übersehe ich da etwas, oder hast Du Dein Problem nicht aufgeführt? Du sagst, dass "diese Zeichen" noch da sind. Was für Zeichen?
 
Wenn du Notepad++ nicht anders konfiguriert hast, sind die Dateien standardmäßig in ANSI codiert. Du musst die Dateien über "Kodierung > Konvertiere zu UTF-8 ohne BOM" umwandeln und dann noch mal speichern.

Am besten stellst du im Menü als Standardkodierung für alle neuen Dateien "UTF-8 ohne BOM" ein!

Grüße,
Frezl
 
So ich habe noch etwas vergessen zu sagen:

Die Werte kommen aus der DB dann liegt es doch nicht an den dateien oder?
zu den komischen zeichen:

Fragezeiche. Uä

Heute nachmittag, wenn ich aus der schule komme poste ich sie hier (wenn ich am pc bin)


Schonmak danke an alle
 
Der einfachste Weg ist immer folgender:

Konsequent alle Dateien, Datenbankverbindungen und ausgelieferten HTML-Seiten in UTF-8 kodieren.

Dateien kodieren:
im Editor die Datei in "UTF-8 ohne BOM" erstellen oder eine vorhandene Datei dorthin konvertieren (nicht einfach nur den Zeichensatz ändern!)

Datenbankverbindungen kodieren:
Code:
mysql_connect (...);
mysql_query ("SET NAMES 'utf8'");

HTML-Seiten kodieren:
Die Seite muss von einem UTF-8-codierten Skript generiert worden sein, damit sie selbst in UTF-8 kodiert ist. Außerdem sollte folgende Zeile im Head nicht fehlen:
HTML:
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
Sie teilt dem Browser mit, in welchem Zeichensatz er die Seite interpretieren soll.

Hinweis zu den Datenbanken:
Soweit ich weiß, kann man MySQL-Datenbanken bzw. -Tabellen nicht in einem bestimmten Charset erstellen. Die Tabelle speichert einfach das, was man ihr füttert. Daher: Daten sollten immer aus UTF-8-kodierten Skripten stammen und in solchen wieder angezeigt werden. Manchmal kommt es vor, dass die Daten im MySqlAdmin/PhpMyAdmin falsch angezeigt werden. Das liegt aber meist daran, dass die verwendete Version von MySqlAdmin/PhpMyAdmin selbst nicht in UTF-8 kodiert ist.
Die Kollation hat absolut nichts mit den Inhalten der Tabellen zu tun. Sie legt nur fest, wie die Zeichenketten vergliche werden, wenn man so was in einer Abfrage macht. Sie ist also meistens unwichtig und kann bei der Standardeinstellung belassen werden.

Wenn du diese Hinweise beachtest, solltest du keine Probleme mit UTF-8 haben.

Viele Grüße,
Frezl
 
Habe nun die Einstellung UTF ohne BOM getroffen (alle Dateien gelöscht und neu geschrieben in dieser Kodierung) vergebens... :(

Das sind die Zeichen: &
äöü

Ã?Ã?Ã?

Aber ich denke das liegt irgenwo daran, dass UTF-8 nicht durchkommt, da ein anderer Charset geladen wird (finde es aber nicht :( )


Es ist noch zu erwähnen, dass es aus einem englischen Tutorial stammte...

http://net.tutsplus.com/tutorials/p...d-forum-from-scratch/comment-page-9/#comments
 
Probier's doch erst mal mit was ganz einfachem: Mach ein Skript mit nem Formular, das nach dem Absenden Daten in die Datenbank speichert. Dann machst noch ein zweites Skript, was die Daten wieder ausliest und anzeigt.

Damit probierst du mal rum, bis das mit den Zeichensätzen passt. Wenn du meine Tipps befolgst, sollte das nicht schwer sein.

Wenn das kleine Beispiel funktioniert, dann kannst es durch die ganzen Abfragen aus dem Tutorial erweitern.

Viele Grüße,
Fred
 
Zurück