· 

Charset und Umlaute

Das Problem

Das Problem besteht darin, dass Umlaute mit Fragezeichen dargestellt werden, welche aus ODBC-Abfragen kommen.

 

Die Webseite selbst ist auf UTF-8 eingestellt:

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

Auch die HTML- bzw. PHP-Datei (also das File selbst) ist UTF-8 ohne BOM gespeichert.


Lösung für Sybase SQL Anywhere

Für folgendes Beispiel hat es funktioniert:

$ergebnis = odbc_exec($odbc, $SQL);
$zeile = "";
while($row = odbc_fetch_array($ergebnis))
{
    $id = $row['strid'];
    $text = $row['strtext'];
    //echo "$id | $text<br>";
    $zeile = $zeile . "|" . $id . "," . $text;
}
$zeile = substr($zeile,1);
header('Content-type: text/html; charset=ISO-8859-1');
echo $zeile;

 

Entscheidend ist die header Zeile.

Kommentar schreiben

Kommentare: 0