使用iconv方法進行編碼轉換。在windows平台下面可以正常的工作(本地環境使用的win7),但是在linux環境下面iconv總是返回false(測試環境使用的linux)。
參考phpinfo的信息,iconv模塊也已經正確加載。
google一下。原來才知道,原來在linux版本下iconv這個方法還是有點下下問題的。
csdn上的一個網友給出的解決方案為:
一種方法是把iconv換成 mb_convert_encoding
另一種方法是修改iconv 的實現,從glibc 改為libiconv
搞了半天,煩躁!
有朋友碰到的話,也可以這麼解決了
按照該網友提供的第一個方法,將iconv方法修改為使用mb_convert_encoding,搞定。。
多謝該網友提供的解決方案。
下載:ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
安裝:
#cp libiconv-1.8.tar.gz /usr/local/src
#tar zxvf lib*
#./configure --prefix=/usr/local/libiconv
#make
#make install
編譯php
#./configure --prefix=/usr/local/php4.3.2 --with-iconv=/usr/local/libiconv/
使用的簡單例子:
<?php
echo iconv("gb2312","ISO-8859-1","我們");