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

问题就是我使用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'
];

问题记录完毕

时间: 2024-09-20 10:50:39

javascrpt插入html中中文字符乱码问题记录的相关文章

PHP Ajax传值中文字符乱码如何解决

在PHP网站开发中,为了增加用户体验度,Ajax是一种经常使用的技术,但是对于初学者来说,时常会碰到Ajax传值中文字符串时变成乱码的问题,有什么办法可以解决PHP AJAX传值中文字符乱码的问题呢? 我们知道Ajax技术由Javascript演变而来,而Javascript使用UTF-8编码,当前后台页面采用GBK或者其他编码,同时没有进行编码转换时,就会出现中文字符乱码问题. PHP Ajax传值中文字符乱码解决方法 方法一.前后台页面以及数据库统一采用UTF8编码,这是最简单的方法. 方法

MySQL不能插入中文字符及中文字符乱码问题

MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 在安装后MySQL之后,它的配置文件不是很给力,不知道你们的是不是,反正我的是! 开始插入中文字符的时候出现如下错误: ERROR 1366 (HY000): Incorrect string value: '\xBB\xA7' for column 'Tname': 也就是不支持插入中文字符,于是通过网上的学习,在它的配置文件my-default.ini文件中添加了一些东西: [mysq

解决AJAX中POST或GET传递中文字符乱码

ajax中文乱码有很多原因那么如何解决这个乱码问题呢? 很简单,使用 JS的内置函数 encodeURIComponent 对中文字符串进行转义一下就好了.关于 encodeURIComponent 函数的用法, scape() 方法: 采用ISO Latin字符集对指定的字符串进行编码.所有的空格符.标点符号.特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字).比如,空格符对应的编码是%20. 不会被此方法编码的字符: @ *

php中json_encode中文字符乱码解决办法

一.json_encode() 这个是一个对变量进行 JSON 编码常用的函数,但是当文本的格式不是utf-8时,中文的转码会出现一些问题,比如文本为gb2312的时候 示例  代码如下 复制代码 <?php $jsonText = array (  0 => array (   'id' => '1',   'name' => '文本1'  ),  1 => array (   'id' => '2',   'name' => '文本2'   ) ) ;   e

JSP中文字符乱码处理的2种方法

在编写JSP程序时,常常会碰到中文字符处理的问题,在接受request的中文字符时显示出来一串乱码.网上处理方法一箩筐,下面说说我用过的两种有效地解决办法: 1.为程序编写一个字符串处理函数,用一个静态文件保存,在需要处理中文字符的JSP页面中包含它, <%!  public String codeToString(String str)  {   String s=str;   try   {    byte temp[]=s.getBytes("ISO-8859-1");  

php 解决substr()截取中文字符乱码问题_php技巧

在php中如果我要用substr()截取字符串全英文的没问题,如果包括有中文或英文就会悲剧了,但大家也 别切我们可以使用其它办法来解决. php截取中文字符串出现乱码,这是最近发现的事情,先前我曾经写过一篇关于自动生成meta信息的文章,那篇关于利用php截取文章前多少字作为description方法,但是出现了IE6无法加载CSS的现象,这里做一个补充. 首先要明确这么一个问题,之所以会出现IE6偶尔无法加载CSS的现象,是因为文件出现了乱码,导致后面的加载CSS的link无法被IE6正确解析

关于ORACLE和MYSQL中文字符乱码的根源剖析

关于数据库的字符集问题一直都是一个比较恶心的问题,如果不了解其实质可能一直 都搞不清楚这个问题的根源,只能出了问题去度娘,这里我打算兼容ORACLE和MYSQL对字符集 的处理来描述乱码出现的情形和如何防止乱码问题出现的可能,本文只用UTF-8和GBK为 例子进行描述,请大家先记住'去'这个字的UTF8和GBK编码,因为整个文章将用'去'字为 例子进行讲述 GBK     UTF8   中文 C8A5    E58EBB  去 同时整篇文章数据库DATABASE端的字符集始终为UTF8 一般来讲

phpword中文字符乱码解决办法

最近领导要求用php生成word,网上找了很多类啊,函数啊.最终相中phpword.无奈不是国人开发,对中文支持很不友好.经过研究,终于解决了中文乱码,分享出来. 1.用模板word生成word中文乱码解决方案: 打开phpword/Template.php文件,找到$replace = utf8_encode($replace);将其改为$replace =iconv('gbk', 'utf-8', $replace); 即可. 2.直接生成word文档,调用addText对象时中文乱码解决方

Linux Oracle中文字符乱码问题的解决

1)查看数据库字符集 03:12:58 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.ZHS16GBK 2)编辑linux 的NLS_LANG变量 03:13:20 SQL> ! [oracle@oraserv ~]$ pwd /home/oracle [oracle@oras