PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP高级编程 >> 开发技巧 >> 

Web 开发中遇到的UTF-8的问题总结

Web 开发中遇到的UTF-8的问题总结

来源:互联网  作者:  发布时间:2010-02-28
一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中

四.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 的问题

Tags: web   开发   utf-8   问题  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号