我試圖在URL中使用特殊的danish
字符作爲GET參數。因此,例如,我有這個網址:數據庫選擇的URL中的特殊字符
http://example.com?name=åge
該網址將獲得自動轉換成ASCII等效,所以在URL它將讀取:
http://example.com?name=%E5ge
當我訪問並打印出值它工作得很好,並顯示該參數爲: åge
但是,我使用它來選擇我的數據庫中的東西,這將無法正常工作。如果我在URL中使用ASCII版本,它將不會選擇任何形式的數據庫,只是給我一個空的結果。如果我強迫的URL不使用ASCII,所以它是:http://example.com?name=åge
從數據庫中選擇時,它會正常工作,但是當我顯示的參數也顯示了這一點: Ã¥
我不知道怎麼去解決這個。任何幫助表示讚賞。
'%E5'不是ASCII碼,而是ISO-8859-1。 (ASCII僅爲7位)。您應該使用UTF-8,而不是在URL編碼請求中(→→%C3%A5')和輸出處理中('Ã¥'是\ xC3 \ xA5的外觀當解釋爲latin1)。你的數據庫正在做正確的事情。 – mirabilos
哦好吧,但我該怎麼做呢? 如果我正在製作這樣的鏈接: 然後鏈接將使用您所談論的ISO編碼,將å轉換爲%E5 。那麼我怎麼強制它使用UTF-8編碼呢? –
瀏覽器通常應該使用UTF-8編碼本身(MSIE5.0有一個配置選項,雖然它通常關閉,但不知道更新的版本)如果你首先將你的頁面作爲UTF-8發佈,瀏覽器可能會得到一些線索,我還沒有看到瀏覽器不會像UTF-8一樣編碼爲 – mirabilos