Umlaute Problem nach Serverumzug

Hi,

Nachdem wir einen Server Umzug machen mussten. Haben wir nun Problemen mit den Umlauten diese werden als ? dargestellt. Schon in der Datenbank.

Das Programm DSB’s Umlaute Korrektur scheint auch nicht zu helfen. Sagt zwar 179 Spalten können Fehlerhaft sein behebt diese aber nicht…

Wäre dankbar für eure Hilfe

Vermutlich wurde bei dem alten server die Kodierung ISO-8859-1
verwendet und hier eher UTF-8. Man kann der Datenbank dann
wohl auch explizit sagen, daß die andere Kodierung verwendet
werden soll. Man kann das sicher auch, notfalls mit einem eigenen
Skript konvertieren. Was der server dann konkret an den browser
sendet, kann man auch modifizieren (per .htaccess oder auch
per PHP header-Funktion).

Man sollte nur eindeutig ermitteln, wie es auf dem alten server
festgelegt war, dann kann man sich entscheiden, wie man es
hier betreiben will und entsprechende Maßnahmen ergreifen.

Alternativ hat (X)HTML ja auch die Möglichkeit, Umlaute und die
ß-Ligatur zu maskieren, dann ist es egal, ob ISO-8859-1 oder
UTF-8, weil da für den Grundzeichensatz die Kodierung die gleiche
ist.

mann könte es auch mit php lösen

<?php function text($text) { $text = str_replace("ä", "ä", $text); $text = str_replace("Ä", "Ä", $text); $text = str_replace("ö", "ö", $text); $text = str_replace("Ö", "Ö", $text); $text = str_replace("ü", "ü", $text); $text = str_replace("Ü", "Ü", $text); return $text; } $file =file_get_contents("./text.txt"); echo text($file); ?>

damit werden alle äüö in html umgewanelt
Hoffe das hilft

@galegenjunge: man könnte auch die Funktion htmlspecialchars verwenden…

also um genau zu sein…

ich habe eine csv.datei importiert also keine alte DB sondern einfach nur eine CSV.datei

und da ist auch sowas wie á also buchstaben mit akzenten dabei;)

Dann schau, dass du den Zeichensatz umwandelst, bevor du die Zeichen ausgibst :wink:
utf8_encode()
utf8_decode()

Und vergiss nicht den verwendeten Zeichensatz mitzusenden, bplaced macht das nicht :wink:

[quote=“galgenjunge”]mann könte es auch mit php lösen

<?php function text($text) { $text = str_replace("ä", "ä", $text); $text = str_replace("Ä", "Ä", $text); $text = str_replace("ö", "ö", $text); $text = str_replace("Ö", "Ö", $text); $text = str_replace("ü", "ü", $text); $text = str_replace("Ü", "Ü", $text); return $text; } $file =file_get_contents("./text.txt"); echo text($file); ?>

damit werden alle äüö in html umgewanelt
Hoffe das hilft[/quote]
Warum erinnert mich PHP immer so an GTK+ xD

Deswegen? at2.php.net/htmlspecialchars

Oder deswegen?

$replace = array(
  "ä" => "&auml;",
  "Ä" => "&Auml;",
  "ö" => "&ouml;",
  "Ö" => "&Ouml;",
  "ü" => "&uuml;",
  "Ü" => "&Uuml;");
$text = str_replace(array_keys($replace), array_values($replace), $text);

Das ist nur galgenjunge-PHP. Gleiches gilt für GTK :wink:

Das hier

Zitat:

csv? Also wohl Klartext. Hört sich für mich so an, als müsse man
da an den Dateien gar nicht herumfummeln, sondern wirklich
nur dafür sorgen, daß der neue server die richtige Kodierung
sendet (etwa per Eintrag im .htaccess im Hauptverzeichnis).

Wenn der server wirklich gar keine Angaben sendet, kann man
es ja auch in der jeweiligen Ausgabe-Datei korrekt angeben, bei
XML-Formaten etwa in der XML-Verarbeitungsanweisung ganz
zu Beginn (ist aber nur relevant, wenn der server wirklich keine
eigenen Angaben macht).

yap hab nur ne csv datei importiert…

Hatte halt so ne Liste mit Spielernamen & Spielerstärken die hab ich zu ner csv datei gemacht und hochgeladen.

bei Franck Ribéry kommt dann Franck Rib?ry

bei Kun Agüero dann Ag?ero

nur als Beispiel :wink:

ich hatte so ein problem auch schonmal, meine lokale datenbank war als “utf8_uni” codiert und bei meinem hoster war sie als “latin” eingestellt, schau das mal nach und änder es falls nötig, dannach ging wieder alles richtig. und beim importieren auch gleich den richtigen zeichensatz auswählen!