iconv_set_encoding
(PHP 4 >= 4.0.5, PHP 5)
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() - Получает текущее значение настроек преобразования кодировок
- ob_iconv_handler() - Преобразует символы из текущей кодировки в кодировку выходного буфера
Коментарии
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 ...
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');
}