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 ] )

转自http://blog.run21.net/?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)).';') ; }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值