我实际上有2页,一个是ISO,另一个是UTF8。我没有可能在没有造成大麻烦的情况下改变它们。
UTF8页面中有一个表格,用于将中文字符的GET数据发送到ISO页面
该网址看起来像search=文員
,即UTF8。
我收到了ISO页面上的数据,但我无法将其放在可读的字符中。
有解决方案吗?
也许我应该在Javascript中转换UTF8页面上的数据?
答案 0 :(得分:2)
答案 1 :(得分:1)
除了为表单提供accept-target
属性外,另一个选项是转换接收页面上的数据:
$data = $_POST['data']; // for example
$data = iconv('UTF-8', 'ISO-ENCODING-HERE', $data);
如果输入数据无法在目标字符集中表示,请参阅iconv
的文档,了解影响函数行为的选项。
答案 2 :(得分:0)
您可以使用此功能将当前编码中的字符串转换为所需的目标编码:
function correct_encoding($text, $target_encoding='UTF-8') {
$current_encoding = mb_detect_encoding($text, 'auto');
$text = iconv($current_encoding, $target_encoding, $text);
return $text;
}