php mssql生僻字,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)).';') ;
}
總結
以上是生活随笔為你收集整理的php mssql生僻字,php生僻字的處理,插入數據庫被截斷,空白,亂碼解決辦法,php冷僻字處理...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java蓝桥杯凑算是,第七届蓝桥杯JAV
- 下一篇: python模拟浏览器模块,python