Encoding

Mit der Encoding-Klasse ist es möglich Zeichenketten von einem Encoding in ein anderes umzuwandeln. Als PHP-Funktion kommt mb_convert_encoding zum Einsatz.

Bei der ersten Verwendung dieser Klasse, muss eine Instanz erstellt werden. Dies kann über die Methode Encoding::getInstance() erfolgen. Dies sorgt dafür, dass die entsprechenden \mb_string Einstellungen korekt gesetzt werden.

Die Methode Encoding::encode() Wandelt eine Zeichenkette in das gewünschte Zielencoding um und gibt diese Zeichenkette zurück.

$encoding=\Alvine\I18n\Encoding::getInstance();

echo $encoding->encode('Iñtërnâtiônàlizætiøn', \Alvine\I18n\Encoding::BASE64);
// ⇢ ScOxdMOrcm7DonRpw7Ruw6BsaXrDpnRpw7hu

echo $encoding->encode('Iñtërnâtiônàlizætiøn', \Alvine\I18n\Encoding::HTML_ENTITIES);
// ⇢ Iñtërnâtiônàlizætiøn

echo $encoding->encode('Iñtërnâtiônàlizætiøn', \Alvine\I18n\Encoding::CP1252);
// ⇢ I�t�rn�ti�n�liz�ti�n

Wird kein gültiges Encoding übergeben, so wird eine \Alvine\I18n\EncodingException geworfen.

try {
    echo $encoding->encode('Iñtërnâtiônàlizætiøn', 'unsupported!');
} catch(\Alvine\I18n\EncodingException $e) {
    echo $e->getMessage();
}