Help mit dem Ersatz-Zeichen

Hoffentlich kann mir jemand helfen hier;

Ich versuche zu schreiben, die eine Funktion ersetzt Sonderzeichen und gibt das richtige ein.

Dies ist, was ich habe, so weit:

function convertlatin($output){ 

    $latinchar = array("€", "‚","Æ'","„","…","‡","ˆ","‰","Å","‹","Å'",'Ž','‘','’','“','â€','•','â€"','â€"','Ëœ','â"¢','Å¡','›','Å"',"ž",'Ÿ','¡','¢','£','¤','Â¥','¦','§','¨','©','ª','«','¬','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼',"½",'¾','¿','À','Ã','Â','Ã','Ã"','Ã…','Æ','Ç','È','É','Ê','Ë','ÃŒ    ','Ã','ÃŽ','ß','Ã',"Ã'","Ã'",'Ã"','Ã"','Õ','Ö','×','Ø','Ù','Ú','Û','Ãœ','Ã','Þ','ß','Ã','á','â','ã','ä','Ã¥','æ','ç','è','é','ê','ë','ì','Ã','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý',"þ","ÿ");
    $correctchar = array("€", "‚","ƒ",'"','…','‡','ˆ','‰',"Š",'‹','Œ','Ž',"'","'",'"','"','•','–','—','˜','™','š','›','œ','ž','Ÿ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ',"ÿ");

    $returnval = str_replace($latinchar, $correctchar, $output);

    echo($returnval);
    return $returnval;
}

Das problem, das ich habe, ist ich dachte, es funktioniert, aber es sind zufällige Ergebnisse, wie wenn es eine übereinstimmung findet auf nur einer der Charaktere, die es ersetzt eine andere, die in diesem array. Was ich tun möchte, ist zu finden und ersetzen-genaue übereinstimmung der lateinischen char innerhalb eines mitgelieferten string zB "testingÿ" mit "testingÿ" - am mo ersetzt ÿ mit testingá¿

Scheint es einfach zu ersetzen, ein Zeichen, dass bei einigen Gelegenheiten, wenn ich möchte, zu entsprechen und ersetzen Sie diese beiden Parameter.

Ich habe auch versucht mit strcmp nicht so viel Erfolg.

Irgendwelche Ideen ?

  • Der code hat keine Fehler - es müsste korrekt funktionieren. Die Pflege zu geben uns Beispiele für diese 'Sonderfälle'?
  • Hi - das ist eine
  • Hoppla. Hier ist es ÿ wird Á¿ statt ÿ
  • Einige funktionieren aber, es scheint das auftreten von Ã-insbesondere wenn es nur konvertiert ein Zeichen anstelle der beiden. Ich nehme an, es kommt ganz à ersten und der Durchführung ändern ? oder zu überschreiben, vielleicht im Vergleich.
  • danke für die Kommentare, ich habe versucht, die änderung der Codierung mit Header, htmlentities und utf8_encode, keiner von Ihnen scheint zu arbeiten. Das größere Problem ist die Codierung eigentlich. Ich erbte ein maßgeschneidertes CMS-system, das weit verbreitete Probleme der Zeichenkodierung, und dies war hoffentlich eine Möglichkeit um ihn herum.
InformationsquelleAutor mro | 2011-08-10
Schreibe einen Kommentar