iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv_set_encoding设置字符编码转换的当前设置

描述

iconv_set_encoding(string $type, string $encoding): bool

将由 type 指定的内部配置变量的值更改为 encoding

参数

type

type 的值可以是以下任何一个

  • input_encoding
  • output_encoding
  • internal_encoding

encoding

字符集。

返回值

成功时返回 true,失败时返回 false

示例

示例 #1 iconv_set_encoding() 示例

<?php
iconv_set_encoding
("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
?>

参见

添加注释

用户贡献的注释 3 条注释

Coralie B
7 年前
我遇到了与 edigitalresearch.com 上的 joe dot bowman 相同的问题。

即使我在网上看到,在使用 PHP 5.6 及更高版本时,这是一个常见问题,但我并没有在我的所有使用 PHP 5.6 的网站上遇到它。

尽管如此,我不得不找到一个解决方案,因为当问题出现时,它令人尴尬。这是我在 http://hasibul.info. 上,感谢 Alexandra López 的帮助,发现的解决方法。

代替
if (function_exists(‘iconv’))
{
// 这些是在代码内部可以设置的设置
iconv_set_encoding(“internal_encoding”, “UTF-8?);
iconv_set_encoding(“input_encoding”, “UTF-8?);
iconv_set_encoding(“output_encoding”, “UTF-8?);
}

我使用
if (PHP_VERSION_ID < 50600) {
iconv_set_encoding('input_encoding', 'UTF-8');
iconv_set_encoding('output_encoding', 'UTF-8');
iconv_set_encoding('internal_encoding', 'UTF-8');
} else {
ini_set('default_charset', 'UTF-8');
}
joe dot bowman at edigitalresearch.com
9 年前
从 PHP 5.6 开始,这将抛出一个弃用级别的错误,这与设置 iconv.*_encoding ini 设置一致

iconv_set_encoding('internal_encoding', 'UTF-8');

触发

PHP 弃用:iconv_set_encoding(): 在...中使用 iconv.internal_encoding 已被弃用
pasamio at gmail dot com
16 年前
在 PHP 5.2.5 中,当使用 Apache 配置文件中的 php_admin_value 设置 iconv.*_encoding 值时,此调用将失败并返回 false。
To Top