utf-8 macht Probleme. Frage zur mysql-config

ev0lst

Erfahrenes Mitglied
Hallo.

Ich habe eine mysql-db. Diese lief bisher recht gut, aber auch nur mit ISO-8859-1.
Jetzt habe ich alle Typen auf utf8_general_ci gestellt. Jetzt werden alle Umlaute bzw Sonderzeichen als "?" angezeigt. Woran kann das liegen?

Der Browser steht auf utf-8.... aber wenn er auf ISO-8859-1 steht, wird alles normal angezeigt.

Es handelt sich um eine Mysql 4 DB.

Kann es vielleicht an der Gesamtkodierung liegen?

Danke

## Nachtrag

In phpmyadmin wird alles ideal angezeigt, ohne Probleme. Auch mit charset=utf-8.
 
Zuletzt bearbeitet:
Mit welcher Zeichenkodierung werden die Daten denn ausgegeben? Denn wenn die Datenbank UTF-8 benutzt, ist das sinnvollste auch bei der Ausgabe UTF-8 zu benutzen.
 
Hallo Gumbo.

Es wird im Browser, mithilfe von charset, als utf-8 ausgegeben.

Wie gesagt, ich habe die Datenbank "nachträglich" nur mit phpmyadmin umgestellt. Also die Kollation... die Tabellen inkl. Spalten wurden ebenfalls als "utf8_general_ci" angepasst.

Danke
 
HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Meinst Du das?

So steht es im Head vom Code.
 
Genau dort ist diese Information fehl am Platze. Denn die Zeichenkodierung muss bereits im HTTP-Header deklariert werden, etwa:
PHP:
header('Content-Type: text/html; charset=utf-8');
 
Mmmh, wo muss ich das denn genau einbauen? Habe ich vorher auch nie gebraucht... :)

Ich kenn das nur beim Mailversand.
 
Du arbeitest doch mit PHP, oder? Falls ja, dann muss dieser Funktionsaufruf noch vor jeglicher Ausgabe notiert werden.
 
PHP:
<?php

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

...

?>

So habe ich es eingebaut, zeigt aber keine Veränderung. Was mache ich falsch?


Also, dass habe ich ich umgestellt:

  • charset (head von html-dokument)
  • utf8_general_ci in phpmyadmin umgestellt
  • kollation in phpmyadmin auf utf8_general_ci umgestellt
  • header-information eingebaut


Kann es vielleicht an einer Grundeinstellung der Datenbank liegen? Muss ich die Charset Info auf dem <head> Teil entfernen, wenn ich den header() eingebaut habe?
 
Ich habe nochmal einen screener angehangen mit den mySQL Infos. Vielleicht kannst du damit was anfangen ?!

Danke
 

Anhänge

  • 26480attachment.gif
    26480attachment.gif
    10,2 KB · Aufrufe: 30
Zurück