我遇到了一个问题,无法为从多个源构建的POST
ed数据获取正确的字符编码(我将数据作为单个POST变量获取)。我认为他们不是在同一个字符编码。。。
例如,以符号£为例。如果我对字符编码什么都不做,我会得到两个结果:
a=£和b=£
我尝试过使用iconv()
的各种配置,就像这样;
$data = iconv('UTF-8', 'windows-1252//TRANSLIT', $_POST['data']);
上述结果导致a=£和b=�
我还尝试了utf8_encode/decode
和html_entity_decode
,因为我认为有可能使用html_entities
生成其中一个磅符号。
我尝试过在标题中设置字符编码,但没有成功。我就是不能让两个实例同时工作。
我不知道下一步该做什么,有什么想法吗?
当其他内容都在utf8
中时,我通过使用utf8_encode()
找到了导致问题的内容,从而解决了这个问题。
这似乎适用于£符号。到目前为止,我还没有发现任何其他角色会引起问题。
注意,我仍然将iconv()
与此结合使用。