识别字符集 (php): ?ɬ'



我面对一个包含:?é-!(应该是:ë)的代码的数据库。我找不到使用了哪个字符集。我希望一切都是UTF8,因此我需要转换这些代码。我找到了转换字符集的PHP函数,但是我尝试过的所有内容(MB_DETECT_ENCODING,ICONV,UTF8_DECODE等)都不会转换为?é -é -é-。第一个问题是我找不到使用哪个字符集。第二个问题是如何将该字符设置为utf8。

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

我会找到一个可以用作测试的单个字符串,然后简单地运行一系列的转换即可查看其中任何一个是否正确。有一个字符的列表设置了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为例。

最新更新