iconv_set_encoding

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

iconv_set_encoding文字エンコーディング変換用の設定を行なう

説明

bool iconv_set_encoding ( string $type , string $charset )

type で指定された内部設定変数の値を、 charset に変更します。

パラメータ

type

type には以下の値のどれかを指定できます。

  • input_encoding
  • output_encoding
  • internal_encoding

charset

文字セット。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 iconv_set_encoding() の例

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

参考

  • iconv_get_encoding() - iconv 拡張モジュールの内部設定変数を取得する
  • ob_iconv_handler() - 出力バッファハンドラとして文字エンコーディングを変換する

add a note add a note

User Contributed Notes 3 notes

up
4
joe dot bowman at edigitalresearch.com
1 year ago
As of PHP 5.6, this throws a Deprecated level error, as is consistent with setting the iconv.*_encoding ini settings:

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

triggers:

PHP Deprecated:  iconv_set_encoding(): Use of iconv.internal_encoding is deprecated in ...
up
1
Coralie B
10 days ago
I encountered the same issue than joe dot bowman at edigitalresearch.com

Even if i read on the web that it is a usual issue when using PHP 5.6 and upper, i didn't encounter it on every sites on which i use PHP 5.6.

Nevertheless, i had to find a solution because, when the issue appears, it's embarrassing. This is what i found thanks to Alexandra López on http://hasibul.info.

Instead of :
if (function_exists(‘iconv’))
{
// These are settings that can be set inside code
    iconv_set_encoding(“internal_encoding”, “UTF-8?);
    iconv_set_encoding(“input_encoding”, “UTF-8?);
    iconv_set_encoding(“output_encoding”, “UTF-8?);
}

i use :
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');
}
up
0
pasamio at gmail dot com
8 years ago
On PHP 5.2.5 when iconv.*_encoding values are set using php_admin_value in the Apache configuration file, this call will fail and return false.
To Top