admin管理员组文章数量:1317926
php生僻字 空白不显示,php生僻字的处理,插入数据库被截断,空白,乱码解决办法,php冷僻字处理...
前言欢迎喜欢php的朋友、喜欢mssql的朋友、喜欢extjs的朋友,一起来交流,本人不才,建个群,希望各位老师赏光。QQ群: PHP-MSSQL-EXTJS 号码: 110888868
网上找了资料,以为是数据库编码,表编码,字段编码的问题,都改成了utf-8的,还是不行,
最终的解决办法:
将
$str_1=iconv(“GB2312″,”UTF-8″,$str_1);
改成
$str_1=mb_convert_encoding($str_1,’UTF-8′,’GBK’);
就可以了。
主要有两个不同:
转码使用的方法不同,一个是用iconv,另一个用mb_convert_encoding
目标编码不同,一个是用GB2312,另一个是GBK
查查两个转码方式的差异
string iconv ( string $in_charset , string $out_charset , string $str )
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
转自/?p=232
不过,使用mb_convert_encoding 函数需启用PHP 的mbstring (multi-byte string)扩展。
查看php的信息页面,如果出现如下画面:
则说明已启用mbstring (multi-byte string)扩展支持。
如果没有出现上面的画面,则需要做如下设置 ,让php支持该扩展。
1、windows 服务器环境
编辑 php.ini 文件,将; extension=php_mbstring.dll 前面的 ; 去掉,重启网页服务器。
2、Linux 服务器环境
在编译配置时加入 --enable-mbstring=cn 编译参数 ,再进行PHP的编译安装。
自已总结代码:
字符串乱码转换:$rolename=iconv("gb2312","utf-8", $rolenamearray[0]) ;
字符串乱码转换+生僻字500错误解决方法:$rolename=mb_convert_encoding(rolename,'UTF-8','GBK');
数组乱码转换:eval('return '.iconv('gb2312','utf-8',var_export($rolename,true)).';');
数组乱码+生僻字500错误解决方法:$arrarr[] =eval('return '.mb_convert_encoding(var_export($obj,true),'utf-8','gb2312').';');
$arrarr[] =eval('return '.mb_convert_encoding(var_export($obj,true),'utf-8','gb2312').';'); //$arrarr[] = eval('return '.iconv('gb2312','utf-8',var_export($obj,true)).';') ; }
本文标签: php生僻字 空白不显示php生僻字的处理插入数据库被截断空白乱码解决办法
版权声明:本文标题:php生僻字 空白不显示,php生僻字的处理,插入数据库被截断,空白,乱码解决办法,php冷僻字处理... 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1702358705a584493.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论