1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/reference/mbstring/functions/mb-convert-encoding.xml
2024-03-31 04:21:03 +03:00

206 lines
8.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 2c17cef6e71c3d85011319cde128cc4edf89a053 Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.mb-convert-encoding" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mb_convert_encoding</refname>
<refpurpose>Преобразовывает строку из одной кодировки символов в другую</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>string</type><type>false</type></type><methodname>mb_convert_encoding</methodname>
<methodparam><type class="union"><type>array</type><type>string</type></type><parameter>string</parameter></methodparam>
<methodparam><type>string</type><parameter>to_encoding</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>string</type><type>null</type></type><parameter>from_encoding</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Преобразовывает значение параметра <parameter>string</parameter>
из кодировки <parameter>from_encoding</parameter>, или текущей внутренней кодировки,
в кодировку <parameter>to_encoding</parameter>.
Если значение параметра <parameter>string</parameter> — это массив (&array;),
все его строковые (&string;) значения будут рекурсивно преобразованы.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
Строка (&string;) или массив (&array;), для преобразования.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>to_encoding</parameter></term>
<listitem>
<para>
Необходимая кодировка результата.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>from_encoding</parameter></term>
<listitem>
<para>
Текущая кодировка, которая будет использована для интерпретации строки <parameter>string</parameter>.
Несколько кодировок разрешено указывать в виде массива (&array;) или разделённого запятыми списка,
тогда PHP попытается определить правильную кодировку по тому же алгоритму,
который использует функция <function>mb_detect_encoding</function>.
</para>
<para>
Если параметр <parameter>from_encoding</parameter> опущен или равен &null;,
то будет использовано значение директивы
<link linkend="ini.mbstring.internal-encoding">mbstring.internal_encoding setting</link>,
если она установлена, иначе <link linkend="ini.default-charset">кодировка по умолчанию</link>.
</para>
<para>
Допустимые значения параметров <parameter>to_encoding</parameter> и <parameter>from_encoding</parameter>
указаны на странице <link linkend="mbstring.supported-encodings">поддерживаемые кодировки</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает или закодированную строку (&string;),
или закодированный массив (&array;),&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Начиная с PHP 8.0.0 выбрасывается исключение <classname>ValueError</classname>,
если значением параметра <parameter>to_encoding</parameter>
или параметра <parameter>from_encoding</parameter> окажется недопустимая кодировка.
До PHP 8.0.0 вместо этого выдавалась ошибка уровня <constant>E_WARNING</constant>.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
Функция <function>mb_convert_encoding</function> больше не будет возвращать
следующие нетекстовые кодировки:
<literal>«Base64»</literal>, <literal>«QPrint»</literal>,
<literal>«UUencode»</literal>, <literal>«HTML entities»</literal>,
<literal>«7 bit»</literal> и <literal>«8 bit»</literal>.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Функция <function>mb_convert_encoding</function> теперь выбрасывает
исключение <classname>ValueError</classname>, если
в параметр <parameter>to_encoding</parameter> передана
недопустимая кодировка.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Функция <function>mb_convert_encoding</function> теперь выбрасывает
исключение <classname>ValueError</classname>, если
в параметр <parameter>from_encoding</parameter> передана
недопустимая кодировка.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Теперь параметр <parameter>from_encoding</parameter> может принимать значение &null;.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
Функция теперь также принимает массив (&array;) как параметр <parameter>string</parameter>.
Ранее поддерживались только строки (&string;).
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>mb_convert_encoding</function></title>
<programlisting role="php">
<![CDATA[
<?php
/* Преобразовывает строку в кодировку SJIS */
$str = mb_convert_encoding($str, "SJIS");
/* Преобразовывает из кодировки EUC-JP в кодировку UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
/* Автоматически определяется кодировка среди JIS, eucjp-win, sjis-win, затем преобразовывается в UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
/* Если директива mbstring.language равна "Japanese", значение кодировки "auto" будет расширено до "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mb_detect_order</function></member>
<member><methodname>UConverter::transcode</methodname></member>
<member><function>iconv</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->