Php 如何使用ISO-8859-1进行URL编码?
我需要有一个字符串返回ISO-8859-1 url编码,但如何使用PHP实现它 如果我运行urlencode'åäö',我将返回%C3%A5%C3%A4%C3%B6。我需要的是%E5%E4%F6Php 如何使用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编码的,或
可以返回两种格式。在对输入字符串进行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输入数据,但不能处理其他类型的输入编码。我只是提一下。。。