php - 阿拉伯语的 urlencoding 不正确

标签 php character-encoding arabic url-encoding

我有字符串:

$str = 'ماجد';

这需要编码为:

'%E3%C7%CC%CF'

但我不知道如何到达这个编码字符串。我相信它是Windows-1256。上面的编码字符串是我的程序对其进行编码的方式。

有人知道如何到达这个字符串吗?

最佳答案

如果您知道要使用 Windows-1256,那么您所要做的就是将输入字符串的编码(即 UTF-8)更改为Windows-1256。然后你申请urlencode()返回的字符串就是这样。

有多种方法可以更改 PHP 中字符串的编码。其中之一(我测试并提供了您期望的结果)正在使用 iconv() :

$str  = 'ماجد';
$conv = iconv('utf-8', 'windows-1256', $str);
echo(urlencode($conv));

关于php - 阿拉伯语的 urlencoding 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35958514/

相关文章:

java - 为什么 Android 2.2 的模拟器中不出现阿拉伯字符

php - 如何找到每秒的字节数

php - Websockets,并识别独特的同行[PHP]

php - Mysql 仅使用 date_sub 中的时间或替代方案

vb.net - 字节到字符串 - 模糊字符

javascript - 使用类似于 Javascript 中的 PHP 的 Unicode 代码点进行转义

c++ - 如何在 C++ 中使用 libiconv 将 ISO-8859-1 转换为 UTF-8

php - cURL 登录到 HTTPS 站点

css - 同时在左侧格式化一些文本,在右侧格式化一些文本

iphone - 如何在 NSURLConnection 中放置阿拉伯语