2

我遇到了一个包含以下代码的数据库:?ɬ´(应该是:ë)。我找不到使用了哪个字符集。我希望一切都是 UTF8,所以我需要转换这些代码。我找到了转换字符集的 php 函数,但是我尝试过的所有方法(mb_detect_encoding、iconv、utf8_decode 等)都不能将 ?ɬ´ 转换为 ë。第一个问题是我无法找出使用了哪个字符集。第二个问题是如何将该字符集转换为 UTF8。

4

1 回答 1

0

这对于评论来说太长了,所以我将其发布为答案,尽管我真的不想称之为答案。

我会找到一个可以用作测试的字符串,然后简单地运行一系列转换以查看其中是否有任何一个正确。这里有一个 mbstring 模块支持的字符集列表。所以基本上你会做类似的事情:

$string = "whatever"; // String you retrieve from the database.
$charSets = array('UTF-8', 'ISO-8859-1', ...); // Fill this array with the character sets.

foreach ($charSets as $cs) {
    print mb_convert_encoding($string, 'UTF-8', $cs)."\n";
}

您可以并且可能应该使用 iconv() 代替,但我没有支持的字符集列表,所以我使用 mbstring 作为示例。

于 2012-11-07T22:17:38.527 回答