php - 带有拉丁六进制变音符号的 URL (php)

标签 php url curl hex utf

我找不到将变音符号和特殊字符转换为十六进制 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) - 您不需要转换,但以后很容易被忽视并引发错误。

关于php - 带有拉丁六进制变音符号的 URL (php),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39821064/

相关文章:

php - 数字数组作为存储过程(mysql)的参数,用于选择()中的位置

php - 如何使用 Zend Framework 将用户操作记录到数据库

Javascript - 访问对象

elasticsearch - 根据日期过滤Elasticsearch中的查询URI

curl - 如何在gitlab-ci文件中使用curl?

php - 使用 cURL 将外部文件保存到我的服务器

php - 从 sum 中将一个可选值插入到数据库列中

php - Wordpress 正在从 URL 中剥离参数

security - 引用 header 中的 CDN 和个人身份信息

php - 提交后如何以pdf和邮件发送表单数据