我对编码有一个非常奇怪的问题,它让我发疯。
所以我们假设:
function Test(Name, callback) {
$.ajax({
type: "POST",
url: "Test.php",
data: "Name=" + Name,
success: function (msg) {
callback(msg);
}
});
}
和test.php文件:
function is_utf8($string) {
return (mb_detect_encoding($string, 'UTF-8', true) == 'UTF-8');
}
if (is_utf8($_POST["Name"])){
echo "Im in UTF";
}
else{
echo "im not in UTF!!";
}
编辑 - 阅读本文 我发现了一些东西 - >在[http://www.w3schools.com/tags/ref_urlencode.asp][http://www.w3schools.com/tags/ref_urlencode.asp]我看到问题导致编码,例如"%21"变成惊叹号。如何阻止这种情况发生?我想简单地传递%21并在PHP中获取字符串"%21%字符串,所以当我将其转换为UTF时,我会收到感叹号。
答案 0 :(得分:0)
解决方案是使用
encodeURIComponent(Name)