1
0
mirror of https://github.com/php/doc-zh.git synced 2026-03-24 15:12:20 +01:00
Files
Gina Peter Banyard 37f6128cc9 Apply revchecked skipped commit c60943fefc4ff8950460e76d714a463437cf0eb2
Replace PHP_INI_* with INI_* constants
2024-01-26 14:00:18 +00:00

412 lines
12 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"?>
<!-- $Revision$ -->
<!-- EN-Revision: af844f698b38d1460464bf913a80f2397980c534 Maintainer: daijie Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<section xml:id="mbstring.configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>mbstring 配置选项</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody xml:id="mbstring.configuration.list">
<row>
<entry><link linkend="ini.mbstring.language">mbstring.language</link></entry>
<entry>"neutral"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.detect-order">mbstring.detect_order</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.http-input">mbstring.http_input</link></entry>
<entry>"pass"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>已弃用</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.http-output">mbstring.http_output</link></entry>
<entry>"pass"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>已弃用</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.internal-encoding">mbstring.internal_encoding</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>已弃用</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.substitute-character">mbstring.substitute_character</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.func-overload">mbstring.func_overload</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>
自 PHP 7.2.0 起弃用PHP 8.0.0 起删除。
</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.encoding-translation">mbstring.encoding_translation</link></entry>
<entry>"0"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.http-output-conv-mimetypes">mbstring.http_output_conv_mimetypes</link></entry>
<entry>"^(text/|application/xhtml\+xml)"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.strict-detection">mbstring.strict_detection</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.regex-retry-limit">mbstring.regex_retry_limit</link></entry>
<entry>"1000000"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>自 PHP 7.4.0 起可用。</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.regex-stack-limit">mbstring.regex_stack_limit</link></entry>
<entry>"100000"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>自 PHP 7.3.5 起可用。</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.mbstring.language">
<term>
<parameter>mbstring.language</parameter>
<type>string</type>
</term>
<listitem>
<para>
mbstring 使用了国家默认语言设置NLS
注意,该选项自动地定义了 <literal>mbstring.internal_encoding</literal>
<literal>mbstring.internal_encoding</literal>,在 &php.ini; 里应当放置在 <literal>mbstring.language</literal> 之后。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.encoding-translation">
<term>
<parameter>mbstring.encoding_translation</parameter>
<type>bool</type>
</term>
<listitem>
<para>
为传入的 HTTP 查询启用透明字符编码过滤器将检测和转换输入的编码为内部字符编码internal character encoding
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.internal-encoding">
<term>
<parameter>mbstring.internal_encoding</parameter>
<type>string</type>
</term>
<listitem>
<warning>
<para>&removed.php.future;</para>
</warning>
<para>
定义内部字符的默认编码。
</para>
<para>
用户应该将此选项留空,并设置
<link linkend="ini.default-charset"><parameter>default_charset</parameter></link>
作为代替。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.http-input">
<term>
<parameter>mbstring.http_input</parameter>
<type>string</type>
</term>
<listitem>
<warning>
<para>&removed.php.future;</para>
</warning>
<para>
定义 HTTP 输入字符的默认编码。
</para>
<para>
用户应该将此选项留空,并设置
<link linkend="ini.default-charset"><parameter>default_charset</parameter></link>
作为代替。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.http-output">
<term>
<parameter>mbstring.http_output</parameter>
<type>string</type>
</term>
<listitem>
<warning>
<para>&removed.php.future;</para>
</warning>
<para>
定义 HTTP 输出字符的默认编码。
</para>
<para>
用户应该将此选项留空,并设置
<link linkend="ini.default-charset"><parameter>default_charset</parameter></link>
作为代替。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.detect-order">
<term>
<parameter>mbstring.detect_order</parameter>
<type>string</type>
</term>
<listitem>
<para>
定义字符编码的默认检测顺序。参见
<function>mb_detect_order</function>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.substitute-character">
<term>
<parameter>mbstring.substitute_character</parameter>
<type>string</type>
</term>
<listitem>
<para>
为无效编码的字符定义替代字符。
参见 <function>mb_substitute_character</function> ,查看支持的值。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.func-overload">
<term>
<parameter>mbstring.func_overload</parameter>
<type>string</type>
</term>
<listitem>
&warn.deprecated.feature-7-2-0.removed-8-0-0;
<para>
用 mbstring 对应的函数覆盖单字节版本的函数集。更多信息参见<link linkend="mbstring.overload">函数的覆盖</link>
</para>
<para>
该设置仅能通过 &php.ini; 文件来修改。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.http-output-conv-mimetypes">
<term>
<parameter>mbstring.http_output_conv_mimetypes</parameter>
<type>string</type>
</term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.strict-detection">
<term>
<parameter>mbstring.strict_detection</parameter>
<type>bool</type>
</term>
<listitem>
<para>
使用严格的编码检测。有关描述和示例,参见 <function>mb_detect_encoding</function>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.regex-retry-limit">
<term>
<parameter>mbstring.regex_retry_limit</parameter>
<type>int</type>
</term>
<listitem>
<para>
Limits the amount of backtracking that may be performed during one mbregex
match.
</para>
<para>
此设置仅在链接的 oniguruma >= 6.8.0 时生效。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mbstring.regex-stack-limit">
<term>
<parameter>mbstring.regex_stack_limit</parameter>
<type>int</type>
</term>
<listitem>
<para>
限制 mbstring 正则表达式的栈深度。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
根据 <link xlink:href="&url.spec.html401.accept-charset;">HTML4.01 规范</link>,允许 Web
浏览器以页面不同的字符编码来提交表单。参见用 <function>mb_http_input</function> 来检测浏览器使用的字符编码。
</para>
<para>
尽管流行的浏览器能够根据给出的 HTML 文档合理猜测正确的编码,但如果能通过 <function>header</function> 函数在 HTTP 的
<literal>Content-Type</literal> 头内或 ini 的 <link linkend="ini.sect.data-handling">default_charset</link>
里设置适当的 <literal>charset</literal> 参数则会更佳。
</para>
<para>
<example>
<title>&php.ini; 设置例子</title>
<programlisting>
<![CDATA[
; 设置默认语言
mbstring.language = Neutral; 设置默认语言 Neutral(UTF-8) (默认的值)
mbstring.language = English; 设置默认语言为 English
mbstring.language = Japanese; 设置默认语言为 Japanese
;; 设置内部的默认编码
;; 注意:请确保这个编码能被 PHP 所处理
mbstring.internal_encoding = UTF-8 ; 设置内部的默认编码为 UTF-8
;; 启用 HTTP 输入编码的转换
mbstring.encoding_translation = On
;; 设置 HTTP 输入的默认编码
;; 注意:脚本不能修改 http_input 的设置
mbstring.http_input = pass ; 不转换
mbstring.http_input = auto ; 设置 HTTP 输入为 auto
; "auto" 会根据 mbstring.language 自动扩展
mbstring.http_input = SJIS ; 设置 HTTP 输入编码为 SJIS
mbstring.http_input = UTF-8,SJIS,EUC-JP ; 指定顺序
;; 设置 HTTP 输出的默认编码
mbstring.http_output = pass ; 不转换
mbstring.http_output = UTF-8 ; 设置 HTTP 输出编码为 UTF-8
;; 设置字符编码的默认检测顺序
mbstring.detect_order = auto ; Set detect order to auto
mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order
;; 设置默认的替代字符
mbstring.substitute_character = 12307 ; 指定 Unicode 值
mbstring.substitute_character = none ; 不打印字符
mbstring.substitute_character = long ; Long 的例子: U+3000,JIS+7E7E
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>&php.ini;<literal>EUC-JP</literal> 用户的设置</title>
<programlisting>
<![CDATA[
;; 禁用输出缓冲
output_buffering = Off
;; 设置 HTTP header 字符编码
default_charset = EUC-JP
;; 设置默认语言为 Japanese
mbstring.language = Japanese
;; 启用 HTTP 输入编码的转换
mbstring.encoding_translation = On
;; 启用 HTTP 输入转换的编码为 auto
mbstring.http_input = auto
;; 转换 HTTP 输出的编码为 EUC-JP
mbstring.http_output = EUC-JP
;; 设置内部编码为 EUC-JP
mbstring.internal_encoding = EUC-JP
;; 不要打印无效的字符
mbstring.substitute_character = none
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>&php.ini;<literal>SJIS</literal> 用户的设置</title>
<programlisting>
<![CDATA[
;; 启用输出缓冲
output_buffering = On
;; 设置 mb_output_handler 来启用输出编码的转换
output_handler = mb_output_handler
;; 设置 HTTP header 的字符编码
default_charset = Shift_JIS
;; 设置默认语言为 Japanese
mbstring.language = Japanese
;; 设置 http 输入转换的编码为 auto
mbstring.http_input = auto
;; 转换成 SJIS
mbstring.http_output = SJIS
;; 设置内部变量为 EUC-JP
mbstring.internal_encoding = EUC-JP
;; 不要打印无效的字符
mbstring.substitute_character = none
]]>
</programlisting>
</example>
</para>
</section>
<!-- 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
-->