程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP采用GET方式獲取中文參數查詢無結果的解決方法

ThinkPHP采用GET方式獲取中文參數查詢無結果的解決方法

編輯:PHP綜合

在用ThinkPHP做tags標簽的時候,出現了一個問題,就是能獲取到參數,但是查不出相應的結果。查看數據庫發現數據是存在的。問題出在哪了呢?

形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的調用

參數是經過urlencode()編碼了的,使用urldecode()函數進行解碼,再進行查詢仍然沒有結果。
緊接著測試轉換編碼iconv()函數,結果成功了。

浏覽器默認的編碼是GB2312的,而這個項目采用的是UTF-8編碼的。
下面就將錯的代碼和修正後的代碼給大家看一下:

$kw= $_GET['_URL_']['2'];   //錯誤的代碼,在iis上能獲取的參數,但是查詢不出結果的。
$kw= iconv("gb2312","utf-8",$_GET['_URL_']['2']); //經過編碼轉換的,能夠查詢出結果的。

另外,本方法只適用於iis環境
還要注意,$_GET接收參數的時候本身就有urldecode轉碼功能,不需要再進行urldecode解碼操作!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved