【发布时间】:2016-08-10 11:24:12
【问题描述】:
我的系统反应有问题,不知何故取决于它的心情。
有时返回 TÕNIS,有时返回 TÕNIS
并将结果连接到一个字符串,并在函数中与另一个字符串进行比较,因此数据是有效的。
这是有效的 TÕNIS 但不是 TÕNIS 的问题
为了解决这个问题我使用了这个函数
mb_convert_encoding('TÕNIS', 'Windows-1252', 'UTF-8');
它有效,但也有一个问题,因为有时响应是正确的 这个函数会将一个好的字母转换为�,这将变得无效。
有没有办法检查响应是显示为多字节还是纯字母?
请记住,这是有此问题的众多角色之一。
而且我无法控制我得到的响应。解决这个问题的唯一方法是我自己解决这个问题
【问题讨论】:
-
您需要在整个系统中正确处理编码。系统不是“喜怒无常”,只是有人在某些时候没有正确处理编码。你绝不能猜测字符串是什么样子,你必须知道。如果您不知道,那是您需要追溯到其根本原因的问题。从这里开始:What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text 和 Handling Unicode Front To Back In A Web App。
-
当我想说“喜怒无常”时,这就是我的意思“喜怒无常”——有人只是在某些时候没有正确处理编码。无需向我解释某些设置不正确。我知道。而且我们无法控制从系统获得的响应,因此我们需要自己处理它