菜单

ThinkPHP使用纯真IP获取物理地址时汉语乱码难题

2019年2月2日 - Java

前天在用ThinkPHP通过纯真IP获取地址时,发现输出结果中文乱码,如图:

描述

在有些场景中(如iis),当使用thinkphp分页时,如若参数中有中文,则在点击下一页时出现乱码,从而致使获取数据不正规的境况。(如图一,参数中有中文,突显第二页数据时,普通话参数已经变成乱码)

图片 1

图一

 

图片 2图片 3

原因

编码所致,具体是tp何地出的难题,暂不详

 

经查发现ThinkPHP的IpLocation.class.php类文件中证实:“由于应用UTF8编码
假若运用纯真IP地址库的话
须要对回到结果开展编码转换”,修改浏览器编码毕竟不是长久之计,

解决办法

措施一:使用数字或英文字符代替汉语

方法二:不间接传中文,而是传汉语值的编码值。

具体就是,在传普通话值时给它编码(使用urlencode()函数),然后在取得值时给它解码(urldecode()),就足以了。(如图二,解码后的值已经再次回到普通话,可以三番一遍应用了)

图片 4

图二,查看大图

 

于是乎尝试通过定义一个数组编码转换方法,如图:

扩展

关于 JavaScript与PHP url编码转换(转)
http://www.cnblogs.com/shenxinpeter/p/6490490.html

图片 5

这会儿涂改getArea方法代码如下:

图片 6

再一次运行难题化解:图片 7

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图