代码改变世界

javascrpt插入html中中文字符乱码问题记录

2014-06-09 17:54  轩脉刃  阅读(1011)  评论(0编辑  收藏  举报

问题就是我使用js做这么个事情:

var description = [
    '你好',
    '你好',
    '你好',
    '你好'
];

var link = '';
var logLink = '';
for (var i = 0; i < urls.length; i++) {
    link = link + "<li><a href=\""+ urls[i]
    + "\" target=\"_blank\"><img src=\""+ imgs[i] 
    + "\" width=\"128\" height=\"150\"><div class=\"vtit\">"
    + description[i] +"</div></a></li>";

    logLink = logLink + "<div style=\"display:none\"><img id=\"log_stat_"+ i +"\" src=\"\" /></div>";
};

但是呢,这个js可能放入到utf8的页面,也可能放入到GB2312的页面,那么这个时候问题就出来了

我这个js是utf8编码的,description是中文的UTF8,如果页面是GB2312编码的话,这里的中文显示就会是乱码了。

 

怎么办?

解决方法就是这里使用Unicode编码,Unicode编码所有页面都能识别的。

所以descriptions就改成:

var description = [
    '\u5348\u591c\u6fc0\u60c5',
    '\u5e8a\u4e0a\u5173\u7cfb\u0032',
    '\u79c1\u4eba\u8ba2\u5236',
    '\u4f4e\u4fd7\u559c\u5267'
];

问题记录完毕