URL 带有拉丁六角变音符号 (php)

URL with diacritics in Latin hexa (php)

我找不到将变音符号和特殊字符转换为十六进制的方法 windows-1252。例如 'Décision' 到 'D%E9cision'(%E9 不是 urlencode 例程给出的 %C3%A9)。

我需要 cURL 一个不接受另一种方式来请求包含变音符号或空格的 URL 的服务器。参见 http://www.findinfo-tc.vd.ch/justice/findinfo-pub/html/CREC%20%28d%E8s%202011%29/HC/20160715171616483_e.html

任何人都可以告诉我灯吗?

urlencode() 可以,但是您的字符串是 UTF-8 编码的(来自 utf 编码源 - 文件编码、数据库...)。您需要先更改字符串字符集:

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

您也可以将此类字符串保存在 Windows-1252 编码的单独文件中(源代码最好坚持使用 utf-8)- 您不需要转换,但以后很容易忽略,调用错误。