我已經實現了一個PHP腳本。
我通過以下URL運行我的PHP腳本:http://server/script.php?param1=%80t%80PHP +字符編碼+ GET參數
因此,我將一個GET參數傳遞給我的PHP腳本。
該參數被命名爲param1。
param1包含URL編碼爲「%80t%80」的字符串「€t€」。
我的PHP腳本是用UTF-8規範編碼的。
我想知道哪些字符編碼適用於$ _GET [「param1」]中包含的字符串。
肯定$ _GET [「param1」]上的字符編碼不是UTF-8。
原因:在我的PHP腳本中的以下命令結果爲「80 74 80」,它是$ _GET [「param1」]的十六進制表示形式。
var_dump(unpack("H*", $_GET["param1"]));
如果_GET $ [ 「參數1」]的字符編碼爲UTF-8,則以前的PHP命令將導致爲 「E2 82 74 AC 82 E2 AC」。
$ _GET [「param1」]上的字符編碼不是ISO-8859-1,因爲€符號不包含在IS0-8859-1字符集中。
要查看ISO-8859-1編碼表,請轉至http://en.wikipedia.org/wiki/ISO/IEC_8859-1
因此,mb_internal_encoding函數返回的PHP內部編碼不適用於$ _GET [「param1」],因爲它是IS0-8859-1。
有沒有人知道哪些字符編碼適用於$ _GET [「param1」]中包含的字符串?
你爲什麼要使用解壓:
試試這個:
這個呢? – Andreas 2012-03-24 18:53:59