2013-12-22 39 views
0

我剛剛遇到了一個問題(一旦Web應用程序已經啓動並運行了一週!),我似乎無法解決這個問題,我有點急於解決問題,以便在問題繼續發生之前解決問題。如何使用PHP和GET獲取URL變量中的特殊字符以正確輸出

我已經爲商家編碼了一個整潔的小聖誕卡,用戶輸入他/她的名字和其他人的名字,然後發送它,所以卡說致:JOHN,FROM:PAUL,基本上。

這個信息是通過URL發送瓦爾,然後,當然,我用GET進行檢索和輸出信息。

當然,這是一個卡可以從任何人,任何人使用...但我只在英語(我的壞)進行了測試。所以,當第一馬丁或索倫惡有惡報,並使用該卡,他們得到來源:馬爾坦來源:Sã¶ren ...

顯然,這是行不通的。

所以我猜我需要找到一種方法,既可以從輸入字段轉換將特殊字符的URL,或從URL到輸出消息。 (雖然我們關於這個問題:你會推薦哪一個?)

但是,我無法得到它的工作。我試過在通過URL發送時發現哪些字符代碼有效。

我注意到網址中通常替換某些字符,特別是空格用%和其他的東西(的編碼方法的名字我不知道;任何人都可以見識一下的是,請)。但是,當我嘗試%C3%AD時,根據我找到的網站,它是-的代碼,如我的示例馬丁,我繼續獲得ã,因爲URL中的這些代碼會自動更改爲它們的特殊字符。

我也試過íí但無濟於事!

+1

是否使用UTF-8?你有沒有嘗試過使用php的htmlentities()函數來轉換字符串來查看輸出是否正確?因爲那你可以使用html_entity_decode() –

+0

你可以顯示你的表單標記嗎?嘗試accept-charset =「UTF-8」 – Zarathuztra

+0

使用'rawurlencode($ str)'看看[這裏] [1]。看起來我的回答太短... [1]:http://stackoverflow.com/questions/2419075/converting-utf8-text-for-use-in-a-url#2419208 – mseifert

回答