我剛剛遇到了一個問題(一旦Web應用程序已經啓動並運行了一週!),我似乎無法解決這個問題,我有點急於解決問題,以便在問題繼續發生之前解決問題。如何使用PHP和GET獲取URL變量中的特殊字符以正確輸出
我已經爲商家編碼了一個整潔的小聖誕卡,用戶輸入他/她的名字和其他人的名字,然後發送它,所以卡說致:JOHN,FROM:PAUL,基本上。
這個信息是通過URL發送瓦爾,然後,當然,我用GET
進行檢索和輸出信息。
當然,這是一個卡可以從任何人,任何人使用...但我只在英語(我的壞)進行了測試。所以,當第一馬丁或索倫惡有惡報,並使用該卡,他們得到來源:馬爾坦,來源:Sã¶ren ...
顯然,這是行不通的。
所以我猜我需要找到一種方法,既可以從輸入字段轉換將特殊字符的URL,或從URL到輸出消息。 (雖然我們關於這個問題:你會推薦哪一個?)
但是,我無法得到它的工作。我試過在通過URL發送時發現哪些字符代碼有效。
我注意到網址中通常替換某些字符,特別是空格用%和其他的東西(的編碼方法的名字我不知道;任何人都可以見識一下的是,請)。但是,當我嘗試%C3%AD
時,根據我找到的網站,它是-的代碼,如我的示例馬丁,我繼續獲得ã,因爲URL中的這些代碼會自動更改爲它們的特殊字符。
我也試過í
,í
但無濟於事!
是否使用UTF-8?你有沒有嘗試過使用php的htmlentities()函數來轉換字符串來查看輸出是否正確?因爲那你可以使用html_entity_decode() –
你可以顯示你的表單標記嗎?嘗試accept-charset =「UTF-8」 – Zarathuztra
使用'rawurlencode($ str)'看看[這裏] [1]。看起來我的回答太短... [1]:http://stackoverflow.com/questions/2419075/converting-utf8-text-for-use-in-a-url#2419208 – mseifert