我正在尝试弄清楚这些php.ini设置到底是做什么的。当它们被设置为不同的值时会发生什么?它们什么时候是必要的?它们在什么时候是有害的?
像往常一样,PHP manual没有什么用处。
PHP EDIT:为了澄清,我理解字符编码是如何工作的,我也理解的多字节函数与单字节函数的区别。我正在寻找上述设置的具体功能。
EDIT 2:好的,看起来他们确实提供了比page on runtime configuration更多的文档,它只有一行摘要。其中前三个函数的名称类似,在描述函数版本的页面上有更多详细信息。我在上面添加了链接。
EDIT 3:添加赏金。我正在寻找关于这些设置的具体细节,特别是最后三个设置。他们从什么转换到什么,什么时候转换?
发布于 2009-11-07 08:47:48
您可以将mbstring.language更改为您正在使用的任何语言。(Source)
语言
; language for internal character representation.
mbstring.language = Neutral ; Set default language to neutral(UTF-8) (default)
mbstring.language = English
mbstring.language = Japanese
mbstring.language = Korean ;For Korean market later
http_input
; http input encoding.
mbstring.http_input = pass
mbstring.http_input = auto
mbstring.http_input = UTF-8
mbstring.http_input = UTF-8, SJIS, EUC-JP
http_output
; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = pass
mbstring.http_output = UTF-8
编码翻译
; enable automatic encoding translation accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = On
发布于 2009-11-07 09:10:28
重点是支持不同的字符集编码。有各种各样的编码(ASCII、ANSI、UTF-8等),每种编码都有不同的字符集和每个字符的字节数。您查看的设置指定了不同PHP函数的默认编码。
PHP提供了许多函数来帮助您正确处理这些不同的编码。有关示例,请查看mb_strlen()与strlen()。
简单的答案是,除非您正在本地化应用程序的文本,或者使用不同的编码与系统通信(包括您的数据库!),否则您可能不需要担心这一点。
发布于 2011-08-18 20:06:23
我认为这个例子中的演示已经解释了所有的事情:
http://fr2.php.net/manual/en/function.mb-internal-encoding.php#53265
虽然它没有在其中使用,但你可以推断出mbstring.http_input
的用法。
https://stackoverflow.com/questions/1691461
复制相似问题