PHP 大会日本 2024

iconv_set_encoding

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

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

描述

iconv_set_encoding(字符串 $type, 字符串 $encoding): 布尔值

将由 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");
?>

参见

添加注释

用户贡献的注释 2 条注释

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

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

尽管如此,我不得不找到一个解决方案,因为当问题出现时,它会很尴尬。这是我多亏了 Alexandra López 在 http://hasibul.info. 上找到的。

而不是
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');
}
edigitalresearch.com 的 joe dot bowman
10 年前
从 PHP 5.6 开始,这会抛出一个已弃用级别的错误,这与设置 iconv.*_encoding ini 设置一致

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

触发

PHP 已弃用:iconv_set_encoding(): 在 ... 中使用 iconv.internal_encoding 已弃用
To Top