yunait / forceutf8
此包已被废弃且不再维护。未推荐替代包。
关于此包最新版本(v1.1)没有可用的许可证信息。
PHP 类编码,包含流行的 Encoding::toUTF8() 函数--之前称为 forceUTF8()--用于修复混合编码的字符串。
v1.1
2013-02-18 19:13 UTC
Requires
- php: >=5.2.0
This package is not auto-updated.
Last update: 2016-07-16 06:40:18 UTC
README
PHP 类编码,包含流行的 Encoding::toUTF8() 函数--之前称为 forceUTF8()--用于修复混合编码的字符串。
描述
如果您将 PHP 函数 utf8_encode() 应用于已经为 UTF8 编码的字符串,它将返回一个乱码的 UTF8 字符串。
此类解决了此问题,并提供了一个名为 Encoding::toUTF8() 的便捷静态函数。
您不需要知道字符串的编码。它可以是 Latin1 (iso 8859-1)、Windows-1252 或 UTF8,或者字符串可以混合这些编码。Encoding::toUTF8() 将将所有内容转换为 UTF8。
有时您必须处理编码不可靠的服务,可能是在同一字符串中混合 UTF8 和 Latin1。
更新
我包含了一个额外的函数,Encoding::fixUTF8(),它将修复看起来乱码的双重(或多次)编码的 UTF8 字符串。
用法
$utf8_string = Encoding::toUTF8($utf8_or_latin1_or_mixed_string);
$latin1_string = Encoding::toLatin1($utf8_or_latin1_or_mixed_string);
另外
$utf8_string = Encoding::fixUTF8($garbled_utf8_string);
示例
echo Encoding::fixUTF8("Fédération Camerounaise de Football");
echo Encoding::fixUTF8("FÃédÃération Camerounaise de Football");
echo Encoding::fixUTF8("FÃÃédÃÃération Camerounaise de Football");
echo Encoding::fixUTF8("FÃÃÃédÃÃÃération Camerounaise de Football");
将输出
Fédération Camerounaise de Football
Fédération Camerounaise de Football
Fédération Camerounaise de Football
Fédération Camerounaise de Football