1. 程式人生 > >url跳轉後中文輸出為亂碼(帶百分號的那種亂碼)的原因以及方法

url跳轉後中文輸出為亂碼(帶百分號的那種亂碼)的原因以及方法

今天在使用thinkphp開發公司專案的時候,也和往常一樣使用跳轉方法,但是跳轉目標頁get到的資料中文部分為帶百分號的那種資料“亂碼”(其實不是亂碼,而是十六),一開始我還以為是亂碼呢,因為我呼叫的java的資料,我以為是java傳輸過來的資料,搗騰了一番,也沒用,後來直接urldecode輕鬆解決,

比如你傳過來的資料為$data,出現我上述情況後直接按下面的方法處理就行了!

$data=urldecode($data);   //進行解碼

這裡我也大致介紹一下這兩個方法的用處

為了防止get方法傳輸中文資料出現數據丟失或者亂碼的情況,php提供了urlencode和urldecode這兩個方法,在跳轉的時候對url和引數就行加密,到目標地址接收資料收再進行解密,這樣就能保證了資料的完整性

其實這種問題一般都不是什麼大問題,但是我也搞不懂,從目前的情況來看,一個跳轉方法後它自動給我綁定了個urlencode方法,事實證明了這個自動繫結情況,

另外一個問題是因為瀏覽器問題還是tinkphp問題,還是伺服器環境問題呢,還是如果傳的是中文字元它就自動轉為十六進位制(難道現在的系統都這麼智慧了)?真就不得而知了!

如果你也遇到我同樣的問題,直接解碼就能解決了!老手倒是不怕,就怕新手遇到這種問題!