最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php 讀取文件亂碼問題

 更新時間:2010年02月20日 11:00:44   作者:  
php 5的流讀取函數(shù)好像默認(rèn)編碼是UTF-8,以前在php 4里直接file_get_contents()讀取gb2312編碼的正常,到了5就亂碼了。
網(wǎng)上的解決辦法說抓取后用iconv()轉(zhuǎn)碼??春笪揖陀X 得不對勁:一個是不一定編譯了iconv庫,更大的問題是編碼都跟流轉(zhuǎn)換的時候有關(guān)(如果用了iconv實(shí)際上php轉(zhuǎn)了兩次碼:流 -> UTF-8 -> GB2312):這不是白忙乎了嗎?

仔細(xì)看了下php的文檔(不知道大家都是怎么寫代碼的,其實(shí)文檔上很清楚?。?,上面關(guān)于fopen()及file_get_contents()都 提到了“默認(rèn)是UTF-8,但是用戶可以用stream_default_encoding()或者用戶自定義上下文屬性改變編碼”(If unicode semantics are enabled, the default encoding of the read data is UTF-8. You can specify a different encoding by creating a custom context or by changing the default using stream_default_encoding().)。于是用stream_default_encoding('gb2312′);測試:但是 faint的是,這個函數(shù)不存在?!似乎php 6才支持。不過天無絕人之路,還有“用戶自定義上下文屬性”可以用。

經(jīng)過更仔細(xì)的看文檔,最后解決了這個問題:
復(fù)制代碼 代碼如下:

//設(shè)置流的編碼格式,這是文件流(file),如果是網(wǎng)絡(luò)訪問,file改成http
$opts = array('file' => array('encoding' => 'gb2312'));
$ctxt = stream_context_create($opts);
file_get_contents(文件名, FILE_TEXT, $ctxt);

相關(guān)文章

最新評論

邮箱| 四川省| 江永县| 尚志市| 石阡县| 彩票| 北碚区| 平塘县| 吉木萨尔县| 含山县| 道孚县| 福泉市| 江孜县| 萨迦县| 四川省| 图木舒克市| 乡宁县| 南丰县| 三亚市| 固原市| 根河市| 靖江市| 高尔夫| 巧家县| 万安县| 辽阳县| 仪征市| 兰坪| 曲阳县| 延川县| 泌阳县| 垫江县| 东宁县| 紫阳县| 漳浦县| 天气| 红河县| 青浦区| 镇雄县| 突泉县| 探索|