我有一个非常奇怪的错误。
我已经验证我的两个字符串都是 UTF-8(通过 mb_check_encoding 和 mb_detect_encoding 检查)但是当我尝试在字符串上使用 utf8_decode 时,它会向我返回垃圾字符。在这种情况下,我实际上不需要使用 utf8_decode 并且字符串会正常。
困难在于我有客户使用我从中提取字符串的 UTF-8 数据库,我使用 utf8_decode 来为 PHP 解析字符串。如果我不这样做,空格字符将替换为 Ã 。他们共享相同的代码来生成字符串,但是由于某种原因,当我为另一个客户生成它时,字符串都错了。
除了字符串是 utf 8 的事实之外,我有没有办法验证我是否需要使用 utf8_decode?
一些例子:
Using utf8_decode for customer 1:
?0,107�per�km
Without utf8_decode for customer 1:
€0,107 per km
Using utf8_decode for customer 2:
$7.00 per km
Without utf8_decode for customer 2:
$7.00 per km
多谢你们!