我有一個簡單的`url,它傳遞兩個參數。姓名和手機。但是當我使用特殊字符時,無法解碼參數。看來?? 而不是字符。我已經嘗試過使用urldecode($_GET['name']), rawurldecode, html_entity_decode, utf8_decode,但這些都沒有奏效。我的utf-8HTML 中有元標記,我也嘗試將其作為標題傳遞給內部php,但沒有用。代碼是這樣的<?php echo $_GET['name']; ?>
2 回答

湖上湖
TA貢獻2003條經驗 獲得超2個贊
name=Consult%F3rio
這是Consultório
早期網絡的良好舊 ISO-8859-1 編碼。如果解碼后的版本呈現不正確,很可能您的應用程序根本沒有使用 ISO-8859-1,因此在那里使用它也沒有任何好處。如果您的應用程序使用 UTF-8,最簡單的解決方案是完全切換到 UTF-8:
Consult%C3%B3rio
這基本上是任何內置 PHP 函數在輸入 UTF-8 數據時所得到的,因為它們在字節級別工作:
var_dump(rawurlencode('Consultório')); // string(16) "Consult%C3%B3rio"
如果這恰好是您無法控制的第三方數據,請查看Martin 的回答。
- 2 回答
- 0 關注
- 161 瀏覽
添加回答
舉報
0/150
提交
取消