<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tbwshc

    php下用iconv函數轉換字符編碼的問題

    昨天在調試 WAP 網站時發現,在增加了 GB2312 到 UTF-8 轉化以后,有些頁面顯示不正常了——有些頁面只有一半的內容,另一半被截掉了。因為被截掉的部分包含了<p>的后半個標簽</p>,因此整個頁面都顯示不出來,而報告錯誤。經過猜測、嘗試,最后終于把問題集中在了 iconv 函數上。在經過高人指點以后,發現這個函數的第二個參數,除了可以指定要轉化到的編碼以外,還可以增加兩個后綴://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字符變成一個或多個近似的字符,//IGNORE 會忽略掉不能轉化的字符,而默認效果是從第一個非法字符截斷。但是我嘗試了//TRANSLIT 和 //IGNORE 這兩個后綴,效果還是不對。于是我想問題可能不是出在這里。

    從 GB2312 到 UTF-8 轉化應該不會有不能轉化的字符,因為 UTF-8 的字符集完全包含了 GB2312 中的字符,所以我tb想大概是前面要轉化的字符集指定錯了,于是我嘗試著把 GB2312 改成 GBK

    $ary=addslashes(iconv("GB2312", "UTF-8", $ary));

    問題解決!雖然那兩個后綴在這里沒派上用場,不過也算學了一招,以后肯定會用到的。補記:改成 GBK 后,發現仍然有一封郵件的內容解析不正確。在另一位高人指點下,先換成 GB18030,問題依舊,然后改用 mb_convert_encoding 進行轉換,問題解決!不知道是 mb_convert_encoding 問題,還是我的系統問題,我用 mb_convert_encoding 時不支持 GB18030 編碼。另外,用 GBK 或者GB18030 作為輸入編碼,并在輸出編碼中加上 //IGNORE 后綴,用 iconv 函數也能解決那封含有錯誤編碼的郵件內容解析不正確的問題。不過用 mb_convert_encoding 可以指定多種輸入編碼,它會根據內容自動識別,這個比 iconv 要好的多。 這里可以將iconv改成從gbk到utf8的轉換,不使用gb2312.

    $ary=addslashes(iconv("GBK", "UTF-8", $ary));

    其實,同事在生成圖片文字水印的時候也遇到了這種問題,同事最初用的是GB2312字符集,結果直接報錯,說是字符串的offset有問題,但仔細檢查后卻沒有這種問題。后來才發現是直接調用的這個iconv轉換出錯了。
    原來的轉換是從gb2312往 UTF8轉換,表面上確實沒有什么問題,然而,現在的人特別愛裝酷,受影響的那位同志,用的是繁體字,繁體字的字庫大多情況是屬于GBK的,所以后來換成GBK后就正常了。
    估計以后再遇上用火星文的朋友,就真的只能使用andot提出的這種方法了。轉換成18030,再使用ignore參數。哈哈

    mbstring好象最初的版本里沒有使用,如果換成這個,估計代碼工作量非常大,先將就著點了

    posted on 2012-08-16 14:45 chen11-1 閱讀(774) 評論(0)  編輯  收藏

    主站蜘蛛池模板: 国产精品酒店视频免费看| 亚洲成AV人在线播放无码| 四虎永久在线精品视频免费观看| 免费一级毛片正在播放| 亚洲精品日韩一区二区小说| AV大片在线无码永久免费| 国产日本亚洲一区二区三区| 久久精品成人免费观看97| 久久国产成人精品国产成人亚洲 | 51在线视频免费观看视频| 亚洲A∨无码无在线观看| 久久这里只精品99re免费| 日本成人免费在线| 美女羞羞视频免费网站| 亚洲日韩在线观看| 国产免费AV片在线观看| 亚洲?V乱码久久精品蜜桃 | 国产麻豆成人传媒免费观看| 亚洲国产精品乱码一区二区| 中文字幕视频免费| 国产精品亚洲精品日韩已满| 日本视频在线观看永久免费| 亚洲字幕在线观看| 国产精品久免费的黄网站| 一级成人毛片免费观看| 日韩午夜免费视频| 国产精品青草视频免费播放| 国产免费AV片无码永久免费| 精品国产福利尤物免费| 久久亚洲精品成人无码网站| 成全在线观看免费观看大全| 亚洲高清国产拍精品青青草原| 亚洲精品天堂在线观看| 一本久久综合亚洲鲁鲁五月天| 热99RE久久精品这里都是精品免费 | 在线观看日本免费a∨视频| 亚洲AV无码不卡无码| 国产va免费精品观看精品| 免费的黄色的网站| 亚洲精品在线视频观看| 久久久精品2019免费观看|