bee*_*bug 2 php forms post utf-8 character-encoding
我在submit.php上有一个HTML表单,页面编码为UTF-8(使用元标记),当表单提交到process.php(通过POST)时,一些变量存储在会话中,并且页面使用Header:Location返回submit.php,然后使用会话变量重新显示一些输入的信息.
如果我输入一个带重音符的字符,例如é(é),当页面返回到submit.php时,它不能正确呈现字符,我会得到一个ã(ã)和©(©).
我应该在哪里寻找解决这个问题的方法?我假设它是服务器端,因为呈现的页面总是UTF-8(浏览器在提交之前和之后确认页面是UTF-8)
解:
字符串在某一点通过htmlentities()传递,结果是ISO-8859-1的默认字符编码答案是在函数调用中简单地指定'UTF-8'.
é变成~©一个确定的标志,在某个点上2字节的UTF-8字符被解释为1字节字符集(很可能是ISO-8859-1).
你需要找到发生这种情况的地方,并修复它.
也许展示一些代码 - 也许有人有想法.
| 归档时间: |
|
| 查看次数: |
2784 次 |
| 最近记录: |