Um gültige UTF-8 in PHP

Ich bin mit PHP-verarbeiten von text aus einer Vielzahl von Quellen. Ich erwarte nicht, daß es etwas anderes als UTF-8, ISO 8859-1, oder vielleicht Windows-1252. Wenn es etwas anderes als einer von denen, ich muss nur sicherstellen, dass der text gedreht wird in eine gültige UTF-8-string, auch wenn die Zeichen gehen verloren. Hat die //TRANSLIT option von iconv gelöst?

Zum Beispiel würde dieser code sicherzustellen, dass eine Zeichenfolge ist sicher zum einfügen in eine UTF-8-kodierten Dokument (oder eine Datenbank)?

function make_safe_for_utf8_use($string) {

    $encoding = mb_detect_encoding($string, "UTF-8,ISO-8859-1,WINDOWS-1252");

    if ($encoding != 'UTF-8') {
        return iconv($encoding, 'UTF-8//TRANSLIT', $string);
    }
    else {
        return $string;
    }
}
InformationsquelleAutor Brian | 2009-10-06
Schreibe einen Kommentar