tave/forceutf8

此包最新版本(v1.0.0)没有提供许可证信息。

PHP 类编码,包含流行的 Encoding::toUTF8() 函数 --以前称为 forceUTF8()-- 用于修复混合编码的字符串。

此包的官方仓库似乎已消失,因此包已被冻结。

v1.0.0 2014-09-12 16:31 UTC

This package is not auto-updated.

Last update: 2019-03-08 21:41:20 UTC


README

PHP 类编码,包含流行的 \ForceUTF8\Encoding::toUTF8() 函数 --以前称为 forceUTF8()-- 用于修复混合编码的字符串。

描述

如果您对已经是 UTF8 编码的字符串应用 PHP 函数 utf8_encode(),它将返回一个乱码的 UTF8 字符串。

此类解决了此问题,并提供了一个名为 Encoding::toUTF8() 的便捷静态函数。

您不需要知道您的字符串的编码是什么。它可以是以太1(iso 8859-1)、Windows-1252 或 UTF8,或者字符串可以是它们的混合。Encoding::toUTF8() 将将所有内容转换为 UTF8。

有时您必须处理编码不可靠的服务,可能将 UTF8 和 Latin1 混合在同一字符串中。

更新

我包含了一个名为 Encoding::fixUTF8() 的另一个函数,该函数将修复看起来混乱的双(或多个)编码 UTF8 字符串。

用法

$utf8_string = \ForceUTF8\Encoding::toUTF8($utf8_or_latin1_or_mixed_string);

$latin1_string = Encoding::toLatin1($utf8_or_latin1_or_mixed_string);

also

$utf8_string = \ForceUTF8\Encoding::fixUTF8($garbled_utf8_string);

示例

echo \ForceUTF8\Encoding::fixUTF8("Fédération Camerounaise de Football");
echo \ForceUTF8\Encoding::fixUTF8("FÃédÃération Camerounaise de Football");
echo \ForceUTF8\Encoding::fixUTF8("FÃÃédÃÃération Camerounaise de Football");
echo \ForceUTF8\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

Composer 安装

除非我收到这样的请求,否则我不想将其提交到 Packagist.org。

您需要将仓库和 require 语句添加到 composer.json 中,如下所示

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/jpirkey/forceutf8"
        }
    ],

    "require": {
        "jpirkey/forceutf8" : "master"
    },
}