亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

thinkphp 關(guān)于iis上面中文參數(shù)亂碼問題 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.ishadingyu.com - 電腦資料】

    第一種方法:

    在使用 ?id="中文" 傳遞中文參數(shù)時,出現(xiàn)了亂碼,這是經(jīng)過了二次轉(zhuǎn)碼后的結(jié)果,其中,在 php 中,url 中是不可以直接傳輸中文的,對于這點(diǎn),一直心存不滿,沒辦法呀,誰讓咱沒一套解決方案呢,不知道別的語言是不是也出現(xiàn)這樣的問題,

thinkphp 關(guān)于iis上面中文參數(shù)亂碼問題

    對于網(wǎng)上所說的在首頁添加 header("content-type:text/html;charset=utf-8"); 這樣的代碼,以及把數(shù)據(jù)庫頁面等等設(shè)置成 utf8 的解決方案根本無效,始終傳遞過來的中文是亂碼。

    盡管站點(diǎn)PHP我都是用的統(tǒng)一的 utf8 編碼,但始終傳遞過去是亂碼,后來測試了幾個瀏覽器,發(fā)現(xiàn) 360 可以傳遞過去,而 IE 不行,后來再使用 $msg = iconv('gbk','utf-8',$_GET["msg"]); 進(jìn)行轉(zhuǎn)換,測試幾個瀏覽器后,大多還是顯示亂碼的問題。

    最后總結(jié)了一點(diǎn),對于 GET[] 過去的值,url 中不可以直接傳輸中文,如果必須要傳輸?shù)脑挘?urlencode() 方法來處理中文,

電腦資料

thinkphp 關(guān)于iis上面中文參數(shù)亂碼問題》(http://www.ishadingyu.com)。對于 POST[] 不知道怎么樣,暫時還沒有做過實(shí)驗(yàn)。

    看來也只有用 urlencode() 方法來處理中文了,在傳遞之前要先進(jìn)行編碼,傳遞過去之后再進(jìn)行解決就可以了,那么利用如下兩個函數(shù):編碼:".urlencode('中文').",解碼:".urldecode('中文').",括號里的中文就是傳遞的字符了。

    如下:傳遞頁面先進(jìn)行編碼:td.php?id=".urlencode('中文').",接受頁面進(jìn)行解碼即可:urldecode(id)."。

    第二種方法:

    如果gbk編碼的頁面生成的地址鏈接到utf-8的頁面,gbk頁面的中文是按照gbk的格式編碼傳送給下個頁面,那么utf-8編碼接收后肯定會出現(xiàn)亂碼。

    IIS的url重寫模塊,重寫后的中文編碼也是gbk,如果你的頁面是utf-8編碼,那么重寫參數(shù)將會失效。像這些情況,我們就需要使用php內(nèi)置的轉(zhuǎn)碼函數(shù)來處理編碼問題了:

    方案1:

    $name = iconv("gbk","utf-8",$name);

    方案2:

    mb_convert_encoding($name, "utf-8", "gbk");

最新文章