php程序utf-8读取纯真ip库乱码解决方法
在字符编码为utf-8的php页面读取纯真ip数据库的话,那么会得到的地址将会是乱码,但您可以通过iconv函数转换编码来解决这个问题: $chunzhen_country = iconv(“GB2312″,”UTF-8//IGNORE”,“从纯真得到的地址”);
我也是看了大家的帖子,拼凑而成。
首先,打开include/misc.func.php
找到
if(!$fd = @fopen($ipdatafile)) {
改为
if(!$fd = @fopen($ipdatafile, 'rb')) {官方的文件里少了“rb”这个参数,也就是以二进制的方式打开 wry.dat
然后上传wry.dat
这部完成,可以读取纯真的数据库了,但是中文显示全部是乱码,就要进行第二步
找到代码
return '- '.$ipaddr;
改为
return mb_convert_encoding($ipaddr,"utf-8","gb2312");现在能正确显示纯真的IP了