1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
archived-doc-ru/reference/mbstring/http-inout.xml
Mikhail Alferov 1bf0c7d802 Обновление перевода (#698)
Co-authored-by: Sergey Panteleev <sergey@php.net>
2024-01-14 14:06:40 +03:00

128 lines
4.9 KiB
XML
Raw Permalink 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: 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
-->