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


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

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

var link = '';
var logLink = '';
for (var i = 0; i < urls.length; i++) {
    link = link + "
  • "+ urls[i] + "\" target=\"_blank\">"+ imgs[i] + "\" width=\"128\" height=\"150\">
    " + description[i] +"
  • "; logLink = logLink + "
    "+ i +"\" src=\"\" />
    "; };

    但是呢,这个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'
    ];

    问题记录完毕

    相关