Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用ISO-8859-1进行URL编码?_Php - Fatal编程技术网

Php 如何使用ISO-8859-1进行URL编码?

Php 如何使用ISO-8859-1进行URL编码?,php,Php,我需要有一个字符串返回ISO-8859-1 url编码,但如何使用PHP实现它 如果我运行urlencode'åäö',我将返回%C3%A5%C3%A4%C3%B6。我需要的是%E5%E4%F6 可以返回两种格式。在对输入字符串进行URL编码之前,需要将其转换为ISO-8859-1。您可以使用: $r = urlencode(iconv('UTF-8', 'ISO-8859-1', 'åäö')); echo $r; // %E5%E4%F6 根据给定的输出,我假设源文件是UTF-8编码的,或

我需要有一个字符串返回ISO-8859-1 url编码,但如何使用PHP实现它

如果我运行urlencode'åäö',我将返回%C3%A5%C3%A4%C3%B6。我需要的是%E5%E4%F6


可以返回两种格式。

在对输入字符串进行URL编码之前,需要将其转换为ISO-8859-1。您可以使用:

$r = urlencode(iconv('UTF-8', 'ISO-8859-1', 'åäö'));
echo $r; // %E5%E4%F6

根据给定的输出,我假设源文件是UTF-8编码的,或者至少是示例字符串åäö。如果您使用的是动态数据,您需要知道输入编码。

在urlencode之前使用utf8_解码功能,它应该可以做到这一点

urlencode(utf8_decode('åäö'));

再看一看。

这里需要做的是按照您想要的类型对格式良好的字符串进行编码。 首先让我们使用mb_convert_编码进行转换,如下所示:

<?php
$str = "åäö";
echo urlencode(mb_convert_encoding($str, "ISO-8859-1", "UTF-8"));
// %E5%E4%F6
?>

干杯。

URL编码和iso编码完全不同。urlencoding是7位ASCII编码,而iso表示8位编码。没有一个简单的函数可以将任何字符串转换为iso编码的字符串,从技术角度来看这是没有意义的。这取决于您在转换之前使用的编码。它可以很好地处理UTF-8输入数据,但不能处理其他类型的输入编码。我只是提一下。。。