我正在尝试将包含未知字符集的字符串转换为UTF-8。我尝试了各种解决方案,但我尝试的一切都失败了。我在这个问题的答案中的代码:PHP: Convert any string to UTF-8 without knowing the original character set, or at least try。这就像我当地的流浪汉装置上的魅力。但是在我的生产服务器上,这会失败。
转换代码:
iconv(mb_detect_encoding($text, mb_detect_order(), true), "UTF-8", $text);
要转换的字符串:De Krön 2
错误:
iconv(): Detected an illegal character
iconv('', 'UTF-8', 'De Kr\xC3\xB6n 2')
如您所见,ö
编码为\xC3\Xb6
。我已经读过这可能是从MS Word复制粘贴的问题。但是,我没有这个控制权。我得到一个CSV文件,需要将其导入数据库。
就像我说的那样,它在我的vagrant(Homestead)安装上工作,但不在我的生产服务器上。什么可能导致这个问题?