_
toggle menu eXmatrikulationsamt.de
online: 358 gäste

>[beendet] problem mit umlauten in PHP und mySQL

Themen Layout: Standard · [Linear] · Outline Thema abonnieren | Thema versenden | Thema drucken
post 10 Nov 2010, 21:57
avatar
fuk da hataz
*********

Punkte: 15000
seit: 27.05.2003

ich habe eine webanwendung, die speichert inhalte aus einer textdatei in eine datenbank, sie extrahiert inhalte aus dem netz und speichert sie in eine datenbank und sie gibt das alles auch wieder aus. aber die umlaute, die treiben mich an den rand der verzweifelung.

entweder die umlaute werden gleich falsch in die datenbank übernommen (aus schön wird sch?n, sch�n oder sogar sch) oder sie werden auf der seite falsch dargestellt. manche seiten enthalten normalen html-code und datenbank-inhalte, hier ist es dann so, dass entweder das eine stimmt ODER das andere. seit ein paar stunden experimentiere ich jetzt mit folgenden parametern:
  • <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> im html-header
  • header("Content-Type: text/html; charset=utf-8"); im php-teil
  • datenbank-kollationen bei mysql (utf8_general_ci, utf8_german1_ci,..)
  • tabellen-kollationen bei mysql
  • feld-kollationen bei mysql
  • dem php-befehlen utf8_decode und utf8_encode innerhalb des skripts
  • der kodierung der textdatei durch den editor (utf8, ansi)
  • mysql_query("SET NAMES 'utf8'"); schon bei der verbindungsherstellung
  • ...
aber NICHTS funktioniert wie gewünscht. es ist zum verzweifeln.. ständig stehts falsch in der datenbank, oder steht dort richtig aber wird falsch ausgegeben, oder ist überall falsch. ich versteh mittlerweile überhaupt nicht mehr, wo ich was einstellen muss..


wer kann mir helfen?


--------------------
onkelroman war hier
ProfilPM
AntwortenZitierenTOP
 
Antworten(1 - 3)
post 10 Nov 2010, 22:25
avatar
fuk da hataz
*********

Punkte: 15000
seit: 27.05.2003

ok.. ich habs. nach 5 stunden rumprobieren und verzweifeln.
wirklich verwirrende lösung: ich brauche zwei verschiedene verbindungen zur db. für fast alle fälle diese hier:

CODE
$verbindung = mysql_connect("localhost","root","****");
if (!$verbindung) { die('Fehler bei der Verbindung: ' . mysql_error()); }
mysql_select_db("meine_db", $verbindung);
mysql_query("SET NAMES 'utf8'");


und für einen einzigen sonderfall dasselbe, aber ohne die letzte zeile. und zwar den, wo eine ansi-codierte textdatei in die db überführt wird. ("codier die doch einfach in utf8, dann brauchste die zeile auch nicht" - denkste!)
das ist die einzige konstellation, die tadellos funktioniert. schwerd bekloppt.
ProfilPM
AntwortenZitierenTOP
post 10 Nov 2010, 22:57
avatar
Diplom
********

Punkte: 1811
seit: 16.05.2007

Dann hast du dich jetzt für das T-Shirt zu deinem Problem qualifiziert.
ProfilPM
AntwortenZitierenTOP
post 10 Nov 2010, 23:43
avatar
fuk da hataz
*********

Punkte: 15000
seit: 27.05.2003

jup. cool! winner.gif
ProfilPM
AntwortenZitierenTOP
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder: