PHP-Logo

UTF-8 & PHP

closeThis post was published more than three months ago. Please note that the information offered here may no longer be current and valid. Therefore, please inform yourself about this topic elsewhere. If there is any new information, you can also send me a comment. Thank you so much!

PHP 5 und frühere Versionen haben keine nativen Unicode-Unterstützung, dass heißt im Ernstfall muss man seine Applikation via “mbstring”-, “iconv-” und “intl”-Funktionen nachbessern. Daher habe ich eine kleine PHP-Bibliothek zusammengestellt, welche via composer installiert werden kann.

Beispiel:

echo strlen($string) . "\n<br />";
echo UTF8::strlen($string) . "\n<br />";
// output:
// 70
// 67

$string_test1 = strip_tags($string);
$string_test2 = UTF8::strip_tags($string);

echo strlen($string_test1) . "\n<br />";
echo UTF8::strlen($string_test2) . "\n<br />";
// output:
// 53
// 50

Erklärung:
Trotz seines Namens zählt “strlen()” nicht Zeichen sondern Bytes, bei UTF-8 kann ein Charakter jedoch bis zu vier Bytes [rfc3629] lang sein.

Installation:
https://packagist.org/packages/voku/portable-utf8

Dokumentation:
https://github.com/voku/portable-utf8/master/doc/classes/voku.helper.UTF8.html

Based on Hamid Sarfraz’s work: http://pageconfig.com/attachments/portable-utf8.php

Published by

voku

Lars Moelleken | Ich bin root, ich darf das!