AJAX 中文字符出现乱码现象

      在实际项目中常常被中文字符乱码问题打扰,开始时,不知其为什么会出现这种现象,不知其中的原理。经查阅和高人的解惑,因此总结出用于解决这个棘手问题的方法。

一、WEB页面字符编码设置问题
为了保证有中文字符页面在任何浏览器中不会出现乱码现象,只要保证服务器应答消息头中的设置与页面本身的编码一致就可。
1. 比如在新建/编辑页面文件的时候,存储时把文件格式选择用 "UTF-8";

2. PHP.ini 中一般不用去设置其编码,配置文件中的 default_charset = "UTF-8";在页面中设置是一样的效果
meta http-equiv="content-type" content="text/html; charset=UTF-8" 这样,你在浏览器中的编码:

"view->Charset Encoding->Unicode(utf-8);
3. 利用 header("content-type:text/html; charset=utf8"); 也可以;

二、JS程序查询MySQL数据库中文乱码的问题
对于利用AJAX进行数据提交时,中文出乱码现象往往是页面自身的编码、查询的参数编码与数据库的编码不一致造成的。
1. 首先JS传递参数时(utf8编码),需要 escape(), 在后台程序需要对其接收的参数进行 unescape()。
2. iconv函数库能够完成各种字符集间的转换,如iconv('GB2312', 'UTF-8', $paraValues)。
3. 为了保持查询数据库的编码统一,可以在查询前进行 mysql_query('set names utf8'); 显示客户端发送的SQL语句中使用什么字符集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值