四.JS相关的UTF-8编码问题
1.JS读Cookie的中文乱码问题
PHP写cookie的时候需要将中文字符进行escape编码,否则JS读到cookie中的中文字符将是乱码。
但php本身没有escape函数,我们新写一个escape函数:
function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("UTF-8","UCS-2",$v)); } return join("",$ar); } |
JS读cookie的时候,用unescape解码,然后就解决cookie中有中文乱码的问题了。
2.外部JS文件UTF-8编码问题
当一个HTML页面或则PHP页面包含一个外部的JS文件时,如果HTML页面或则PHP页面是UTF-8编码格式的文件,外部的JS文件同样要转成UTF-8的文件,否则将出现,没有包含不成功,调用函数时没有反应的情况。
点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8。
延伸阅读:
Header用于页面跳转要注意的几个问题总结
网页UTF8编码开发中空白的问题(bom问题)
Oracle常见问题及解决方案
面试时,如何回答关于“缺点”的问题
面试问题:你为什么希望到我们公司工作?
二招解决php乱码问题
css兼容问题总结及常用技巧
CSS代码解决网页挂马问题
关于php curl获取301或302转向的网址问题
关于PHP编程中session的问题集锦及解决方法
warning: Division by zero in 的问题