Files
php-doc-ru/reference/xml/encoding.xml
2021-01-05 20:16:26 +03:00

70 lines
3.9 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: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: tmn Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<article xml:id="xml.encoding" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Кодировка символов</title>
<para>
Модуль XML в PHP поддерживает набор символов <link
xlink:href="&url.unicode;">Unicode</link> через
разные <glossterm>кодировки символов</glossterm>. Есть два типа
кодировок символов в этом модуле, <glossterm>исходная кодировка</glossterm>
и <glossterm>целевая кодировка</glossterm>.
Внутреннее представление документа в PHP всегда кодировано в
<literal>UTF-8</literal>.
</para>
<para>
Исходное кодирование происходит, когда XML документ <link
linkend="function.xml-parse">разбирается</link>. При <link
linkend="function.xml-parser-create">создании анализатора XML
</link> может быть определена исходная кодировка (эта кодировка
не может быть изменена позже, во время работы XML анализатора).
Поддерживаются исходные кодировки <literal>ISO-8859-1</literal>,
<literal>US-ASCII</literal> и <literal>UTF-8</literal>. Первые две
являются однобайтными кодировками,что означает, что каждый символ
представлен одним байтом.
<literal>UTF-8</literal> может кодировать символы, представленные
переменным числом бит (вплоть до 21) в байты (от одного до четырёх).
По умолчанию в PHP исходной кодировкой является
<literal>ISO-8859-1</literal>.
</para>
<para>
Целевое кодирование происходит, когда PHP передаёт данные обрабатывающим
XML функциям. Когда создаётся XML анализатор, целевая кодировка
устанавливается такой же, как исходная кодировка, затем она может быть изменена
в любой момент. Целевая кодировка повлияет на символьные данные,
а также имена тегов и цели обрабатывающих команд.
</para>
<para>
Если XML анализатор встречает символы за пределами диапазона, которые их
исходная кодировкам может предоставить, он возвращает ошибку.
</para>
<para>
Если PHP встречает символы в разбираемом XML документе, которые не могут
быть представлены в выбранной целевой кодировке, проблемные символы
будут "понижены". В данном случае это означает, что такие символы будут
замещены вопросительным знаком.
</para>
</article>
<!-- 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
-->