php获取gb2312编码的汉字的首个字母 17 October 2010 10:25 Sunday by 小屋 浏览(1684)

 

<?php

//取GB2312字符串首字母,原理是GBK汉字是按拼音顺序编码的.

function get_letter($input){

$dict=array(

'a'=>0xB0C4,

'b'=>0xB2C0,

'c'=>0xB4ED,

'd'=>0xB6E9,

'e'=>0xB7A1,

'f'=>0xB8C0,

'g'=>0xB9FD,

'h'=>0xBBF6,

'j'=>0xBFA5,

'k'=>0xC0AB,

阅读全文>>

ajax返回中文乱码,servlet中的显示乱码,post提交的乱码问题,编码大总结 11 December 2009 2:44 Friday by小屋 浏览(3064)

ajax返回中文乱码问题解决

 

使用ajax获取

服务

器数据返回给客户端,出现中文乱码。在之前的一个ajax应用中指定codepage=936,将所有页面编码都指定为GB2312即可解决。

 

这 次的应用中却无起作用了,经过多次的试验,客服端的编码应该绝对没有问题的。可以判断问题一定出在服务器端。稍微分析一下可知虽然服务器端指定了文件的编 码格式,但对于服务器输出流就成为了怀疑的

对象

。 由于使用MS SQL2000,采用unicode编码,所以返回数据给客户端将会出现unicode编码的中文在gb2312编码页面显示的问题。于是在服务器端输出 流加一个HEADER:ASP程序中加入

阅读全文>>

ajax中文乱码完美解决(兼容ie ff) 11 December 2009 2:28 Friday by小屋 浏览(3497)

AJAX的中文乱码可以大概分为两中,第一种是向服务器端发送中文参数时 (xmlhttp.open(“get|post”,url,true)),服务器端接收到的为乱码,这个也是我今天遇到的问题,没做处理之前,在IE里 是正常的,但是在Firefox里面就出现了乱码,我先把接收到参数输出到一个文本里,没有发现什么问题,郁闷了,然后我就把查询语句在输出来观察(我这 里是要从数据库里查出与参数相关的东西),终于发现问题,IE和Firefox输出的参数不一样,虽然汉字上都一样,但是和前后连接上有细小的区别,于是 认定了是编码问题,在网上查找了相关资料,都没能解决问题,但是得到一些启示,因为AJAX发送数据都是采用UTF-8编码的方式发送的,所以要在服务器 端进行编码转换(我这里页面是采用GB2312编码的,如果是采用UTF-8的话应该不会有这步的问题),所以我在服务器端进行了UTF-8转 GB2312,

 

$str=iconv("UTF-8","GB2312",$str);

 

然后测试,在Firefox上顺利解决了问题,以为大公告成了,可是再到IE下测试,发现IE又出现了问题,服务器端接收到的参数没值,这下就郁闷 了,突然看到发送头设置了setRequestHeader("Content-Type","application/x-www-form- urlencoded");,就找到问题所在了,然后就在发送那里进行了参数编码:

 

geturl=encodeURI(geturl);

       geturl=encodeURI(geturl); //两次也可以写

阅读全文>>

AJAX-gbk(gb2312)中文乱码的解决办法 30 November 2009 20:30 Monday by小屋 浏览(3595)

1、PHP解决ajax中文乱码resopnseText中文乱码xmlhttp中文乱码

  方案一:指定正确的编码

  header("content-type: text/html;charset=gb2312");

  方案二:全部统一为utf-8编码

  测试地址:http://www.xinhengshui.com/bianmin/ip/lite

  完整IP查询地址:http://www.xinhengshui.com/bianmin/ip

  方案三:javascript的escape方法,基本中文字符转化成unicode格式提交,在服务器短使用java来模拟javascript的unescape方法还原成中文,进行处理。

阅读全文>>