小弟我遇到个这种问题:我的前台有一个查询框(用Php写的,编码格式是GBK),后台数据库的编码格式为UTF-8,现在输入框中输入了汉字,但是到后台中显示的是乱码,这样就无法查询到数据显示在前台了。现在找到的一个方法就是在我的javascript中用encodeURI函数将输入的汉字进行转换,变成十六进制的序列,然后想找一个php的方法将这段序列又转换回去变成汉字。请问怎么做!
解决方案 »
- phpQuery::browserPost怎么用的,有例子没?谢谢
- flex与php页面传值的问题,在线等
- 碰到一个COOKIE的怪问题,大家帮忙看一下
- php 二级联动问题
- 想安装phplib,然后按照网上的文章做,但是无法成功,奈何奈何
- 紧急求助!!php网站被攻击。
- 如何使某一页面只由另一页面链接而来时才有效?否则提示应该从哪个url进入
- 大家探讨探讨网站程序防止拷贝盗版的问题!
- 各位好,在下刚装了zend编写php,为什么zend汉字显示为方格,如何修正?谢谢
- Fatal error: Call to undefined function
- 有关cookie原理问题.
- 求助一个关于正则表达式的问题
只有这样才能将 gbk 转成 utf-8 的 url 串
服务器端只需 urldecode 就可得到 utf-8 的数据2、假定你使用的是 mysql 数据库
那么并不需要如此复杂,只需在选择数据库后执行 SQL 指令
set names gbk
即可,编码转换的工作将由 mysql 完成
得到 %E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E6%B5%8B%E8%AF%95 echo urldecode('%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E6%B5%8B%E8%AF%95');得到 这是一个测试由于你的页面是 gbk 的,所以你看到的应该是
杩欐槸涓€涓祴璇解码后的数据是可以直接入库的如果你还需要显示或进一步加工,那么需要做编码转换