mirror of
https://github.com/php/doc-ru.git
synced 2026-03-24 07:42:22 +01:00
128 lines
4.9 KiB
XML
128 lines
4.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 95bdd6883b5dde9504701777ba81b3c5f15df52b Maintainer: tmn Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
|
||
<chapter xml:id="mbstring.http" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<title>Ввод и вывод HTTP</title>
|
||
<para>
|
||
Механизм преобразования кодировок ввода-вывода HTTP также способен
|
||
конвертировать двоичные данные. Пользователи должны сами следить
|
||
за преобразованием кодировки символов, если в качестве ввода-вывода HTTP
|
||
передаются двоичные данные.
|
||
</para>
|
||
<note>
|
||
<para>
|
||
Если для атрибута HTML-формы <literal>enctype</literal> установлено
|
||
значение <literal>multipart/form-data</literal>,
|
||
а для директивы <literal>mbstring.encoding_translation</literal> в файле &php.ini; установлено
|
||
значение On, переменные и имена загружаемых файлов в POST-запросах конвертируются
|
||
во внутреннюю кодировку скрипта автоматически. Однако это не относится
|
||
к ключам запроса.
|
||
</para>
|
||
</note>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
Ввод HTTP
|
||
</simpara>
|
||
<para>
|
||
Невозможно контролировать преобразование символов
|
||
HTTP-ввода из PHP-скрипта. Отключить
|
||
преобразование символов HTTP-ввода можно в файле &php.ini;.
|
||
<example>
|
||
<title>
|
||
Отключение преобразования кодировки HTTP-ввода в файле &php.ini;
|
||
</title>
|
||
<programlisting role="php.ini">
|
||
<![CDATA[
|
||
;; Отключение конвертации
|
||
mbstring.http_input = pass
|
||
;; Отключение конвертации
|
||
mbstring.encoding_translation = Off
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
Если PHP работает как модуль Apache, можно переопределить эти
|
||
настройки в каждой директиве виртуального хоста (Virtual Host) в файле конфигурации &httpd.conf;
|
||
или для каждой директории в файле &htaccess;. Дополнительная информация дана
|
||
в разделе «<link linkend="configuration">Конфигурация</link>»
|
||
и к руководству по работе с веб-сервером Apache.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Вывод HTTP
|
||
</simpara>
|
||
<para>
|
||
Есть несколько способов включить преобразование кодировки символов
|
||
вывода. Один из них — файл &php.ini;, другой —
|
||
вызов функции <function>ob_start</function>
|
||
с передачей в <literal>ob_start</literal>
|
||
функции <function>mb_output_handler</function>
|
||
в качестве callback-функции.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>Пример настройки &php.ini;</title>
|
||
<programlisting>
|
||
<![CDATA[
|
||
;; Включение преобразования кодировки символов вывода для всех PHP-страниц
|
||
|
||
;; Включение буферизации вывода
|
||
output_buffering = On
|
||
|
||
;; Установка функции mb_output_handler в качестве значения директивы для включения конвертации вывода
|
||
output_handler = mb_output_handler
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>Пример скрипта</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
// Включение преобразования кодировки символов вывода только для этой страницы
|
||
|
||
// Установка кодировки символов HTTP-вывода в значение SJIS
|
||
mb_http_output('SJIS');
|
||
|
||
// Запуск буферизации и определение функции «mb_output_handler» в качестве
|
||
// callback-функции
|
||
ob_start('mb_output_handler');
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
</chapter>
|
||
<!-- 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
|
||
-->
|