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