【问题标题】:PHP variable error in unicodeunicode中的PHP变量错误
【发布时间】:2016-04-10 17:23:34
【问题描述】:

某些版本的 Internet Explorer(即 11 和其他版本)给出了这样的错误值 ?????????对于 unicode 变量。除了 Internet Explorer,代码运行良好。我只将此文件编码保存为 UTF-8。谁能帮帮我。

<?php
header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function test(val){
var val;
//alert(val);   
url=window.location.href="test.php?value="+val;
//alert(url);
}
</script>
</head>
<body>
<?php
$value="";
if(!empty($_GET['value'])){
    echo $value=$_GET['value'];//this variable is the problem;
    }
?>
<select style="width:180px;" onchange="test(this.value)">
<option value="">select</option>
<option value="நன்றி">நன்றி</option>
</select>                   
</body>
</html>

【问题讨论】:

    标签: php unicode


    【解决方案1】:

    我认为那是你的错,因为你将值附加到 URL 查询字符串中,完全没有处理。 (其他浏览器偶然地做了你想要的,并不一定意味着它是正确的。)

    在附加值之前使用encodeURIComponent


    编辑:

    function test(val){
      //var val; <- removed, because makes no sense - val gets passed in as parameter already
      window.location.href = "test.php?value=" + encodeURIComponent(val);
    }
    

    【讨论】:

    • 是的,你的解决方案是正确的,我并没有真正考虑过:P
    • 请多解释一些。我还要添加什么代码。
    • 非常感谢,我会试试这个。
    • 我已标记您的答案。非常感谢您的帮助。
    • 我在这里stackoverflow.com/questions/36534847/…还有一个与encodeURIComponent相关的问题。如果你回答这个问题也会有更多帮助。
    猜你喜欢
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 2013-09-17
    相关资源
    最近更新 更多