2016-10-02 144 views
2

我沒有找到將變音符號和特殊字符轉換爲hexa windows-1252的方法。例如'Décision'改爲'D%E9cision'(由urlencode例程給出的%E9而不是%C3%A9)。帶拉丁語六個字母的變音符號(php)

我需要捲曲一個服務器,不接受另一種方式來請求包含變音符或空格的URL。請參閱http://www.findinfo-tc.vd.ch/justice/findinfo-pub/html/CREC%20%28d%E8s%202011%29/HC/20160715171616483_e.html

任何人都可以看到燈光嗎?

回答

3

urlencode()會做,但它是你的字符串是UTF-8編碼(來自utf編碼的源文件編碼,數據庫...)。您需要先更改字符串charset:

$encoded = urlencode(iconv('UTF-8', 'Windows-1252', 'Décision')); 

您也可以保存在單獨的文件中這樣的字符串是在Windows 1252編碼(源代碼應該使用UTF-8更貼) - 您將不再需要轉換,但稍後很容易忽略並引發錯誤。

+0

我搜索了很多小時。我永遠找不到!你爲我省了很多挫折,非常感謝。 – Amateur