mirror of
https://github.com/php/doc-zh.git
synced 2026-03-24 15:12:20 +01:00
412 lines
12 KiB
XML
412 lines
12 KiB
XML
<?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
|
||
-->
|