我遇到的数据库包含如下代码:?ɬ'(应该是:ë)。我找不到使用了哪个字符集。我想一切都是UTF8,所以我需要转换这些代码。我找到了转换字符集的php函数,但是我尝试过的所有内容(mb_detect_encoding,iconv,utf8_decode等)都没有将?ɬ'转换为ë。第一个问题是我无法找出使用的字符集。第二个问题是如何将该字符集转换为UTF8。
答案 0 :(得分:0)
这对于评论来说太长了所以我发布这个作为答案,虽然我不想把它称为答案。
我会找到一个可用作测试的字符串,然后只需运行一系列转换即可查看其中任何一个是否正确。 mbstring模块支持here的字符集列表。所以基本上你会做类似的事情:
$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作为例子。