- 主题:在修改uchome,请教一个跟编码有关的问题
uchome通过表单提交查询条件(为汉字,例如字段值为 周末)后,可以通过mysql进行检索并有显示结果.
'周末'在浏览器url中的参数表现为canshu=%D6%DC%C4%A9,我发现这个就是urlencode('周末')的结果.
查询大致过程如下:
$key = $_GET['canshu']; //echo $key显示 周末,但这时什么编码呢?
$sql = "SELECT * WHERE canshu like '".$key."'";
query($sql); //$key不能直接写成'周末',不然mysql因不支持汉字出错
我现在想用一jquery插件用ajax技术来模仿上面这个过程,把用户动态选择的'周末'作为参数放在URL后面
为查询条件, 可问题是无论怎么编码/解码都查询不了,好另人疑惑,有人指导下么?
谢谢啊
--
FROM 61.182.251.*
恩
试验了下,javascript直接把参数直接写成'%D6%DC%C4%A9',而URL对应的PHP调用下urldecode就可以了.
但问题是,有什么js能实现把'周末'转换为'%D6%DC%C4%A9'的效果呢?我试了下escape和encodeURI()都不能达到效果。。。
到底哪里错了呢?
--
FROM 61.182.251.*
我知道了
%D6%DC%C4%A9是GB2312的编码
我在想一个表单传递的数据的编码是由哪些因素决定的?
浏览器还是页面?
学习下。。。
--
FROM 61.182.251.*
哎,我不是搞WEB开发的,所以什么也不大懂。。。
问题解决了,今天忙活了一下午头晕了,只得出了结论就是gb2312呵呵。。。
出去遛弯后互通也搞好了
Jquery的提交的ajax的URL请求参数使用utf8编码,server端的PHP使用iconv("UTF-8","GBK",$s)转换一下,然后就可以查询出来了。。。
mysql存储的汉字编码为GB2312.
谢谢大家,有问题还请多指教啊~
--
FROM 122.143.3.*
我估计是我用的jquery的plugin的charset默认是utf-8的,
可我不知道怎么指定为gbk。。。
所以才出现我问的一些问题,例如数据库的查询结果要转成utf-8它才能显示?
这个plugin为textExt,www.textextjs.com
--
修改:doxboy FROM 122.143.3.*
FROM 122.143.3.*