>  기사  >  백엔드 개발  >  各位大大一起来帮忙看一下!解决办法

各位大大一起来帮忙看一下!解决办法

WBOY
WBOY원래의
2016-06-13 10:11:28897검색

各位大大一起来帮忙看一下!
小弟我遇到个这种问题:我的前台有一个查询框(用Php写的,编码格式是GBK),后台数据库的编码格式为UTF-8,现在输入框中输入了汉字,但是到后台中显示的是乱码,这样就无法查询到数据显示在前台了。现在找到的一个方法就是在我的javascript中用encodeURI函数将输入的汉字进行转换,变成十六进制的序列,然后想找一个php的方法将这段序列又转换回去变成汉字。请问怎么做!

------解决方案--------------------
1、用 js 做 url 编码转换时应用 encodeURIComponent 而不是 encodeURI
只有这样才能将 gbk 转成 utf-8 的 url 串
服务器端只需 urldecode 就可得到 utf-8 的数据

2、假定你使用的是 mysql 数据库
那么并不需要如此复杂,只需在选择数据库后执行 SQL 指令
set names gbk
即可,编码转换的工作将由 mysql 完成
------解决方案--------------------
在php端用mb_convert_encoding()将编码冲gbk转换为utf-8呢

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.