Pater: Zeichenkodierung

Beitrag lesen

Einen schoenen sonnigen Nachmittag,

ich dachte immer, dass mich das Kaempfen mit den Zeichensaetzen nie betreffen wird, aber jetzt ist es doch geschehen...

Ich habe eine Textdatei die (ganz sicher) in UTF-8 kodiert ist. In meiner php-Datei ist per header() und charset auch UTF-8 festgelegt. Trotzdem wird bei echo mb_internal_encoding(); ein "ISO-8859-1" ausgegeben. Aber egal, dass wird per mb_internal_encoding("UTF-8"); behoben.

In der Datei sind Keywoerter, aus denen eine Navigation aufgebaut werden soll. Diese Navigation besteht aus einem Array aus den ersten Buchstaben jedes Keywords, welches per array_unique gereinigt wird.
Beispiel:
Ameise, Apfel, Baum, Krankenhaus.

Navigation:
A B K

Das Problem ist, dass die Keywords auch mit Umlauten beginnen. Eigentlich duerfte das wegen der UTF-8 Kodierung kein Problem sein.

for($j=0;$j<count($keywords)+1;$j++){  
          $bla[$j]=substr(strtoupper(trim($keywords[$j])),0,1);  
                    }  
$bla=array_unique($bla);

var_dump zeigt, dass es eigentlich richtig ist, trotzdem krieg ich diese Fragezeichen innerhalb einer Raute an der Stelle, wo eigentlich Umlaute sein sollten.
Wenn ich jetzt substr durch mb_substr($keywords[$j],0,1,'UTF-8') ersetze, bekomme ich andere merkwuerdige Zeichen.

Ich hoffe, dass mir jemand das Thema Zeichenkodierung wenigstens ein bisschen naeherbringen kann.

Gruss,
 der Pater