[PHP-dev 560] Re: mbstring.language について

Moriyoshi Koizumi php-dev@php.gr.jp
Sun, 10 Nov 2002 00:47:51 +0900


--------------Boundary_4L/fcMLK_s1RER-
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

小泉です。

現状のままで行く場合は、少なくとも mbstring.language の変更を反映して、
phpinfo() に正しい値が表示されるようにする必要があると思います。

これを実現するためのパッチを2種類作りました。
もし問題がなさそうでしたら、どちらかをコミットします。

よろしくお願いします。

Rui Hirokawa <rui_hirokawa@ybb.ne.jp> wrote:

> 
> 廣川です。
> 
> ご指摘の通り、mbstring.languageは現在の実装では先頭に指定する必要があります。
> 
> 下記の1は当然必要だと思いますが、2の案としてもマニュアルへの記述は必要
> と思います。
> internal_encodingがデフォルト値以外だったら指定を無視するというのでも
> 良いのですが、かえって混乱しないかが心配です。
> 
> 
> On Sat, 09 Nov 2002 22:21:41 +0900
> Moriyoshi Koizumi <moriyoshi@at.wakwak.com> wrote:
> 
> Moriyoshi> 小泉です。
> Moriyoshi> 
> Moriyoshi> 現在の実装だと、mbstring.language オプションは、
> Moriyoshi> 直前の mbstring.internal_encoding の設定を無効にしてしまうので、
> Moriyoshi> 混乱を招く恐れがあると思います。たとえば、
> Moriyoshi> 
> Moriyoshi> mbstring.internal_encoding=UTF-8
> Moriyoshi> mbstring.language=Japanese
> Moriyoshi> 
> Moriyoshi> としておいて、
> Moriyoshi> 
> Moriyoshi> <?php
> Moriyoshi> echo "[".mb_internal_encoding()."]\n";
> Moriyoshi> phpinfo();
> Moriyoshi> ?>
> Moriyoshi> 
> Moriyoshi> とすると、
> Moriyoshi> 
> Moriyoshi> --------------------------------------------
> Moriyoshi> [EUC-JP]
> Moriyoshi> 
> Moriyoshi> ...
> Moriyoshi> 
> Moriyoshi> mbstring.internal_encoding   UTF-8
> Moriyoshi> --------------------------------------------
> Moriyoshi> 
> Moriyoshi> のようになってしまうのです。
> Moriyoshi> 
> Moriyoshi> 1. マニュアルに、mbstring.language は必ず先頭に持ってくるという旨を
> Moriyoshi>    記載する
> Moriyoshi> 2. internal_encoding が既に設定されていたら、
> Moriyoshi>    internal_encoding を上書きしない。
> Moriyoshi> 
> Moriyoshi> の2つの解決法があるとおもいますが、いかがでしょうか。
> Moriyoshi> 
> Moriyoshi> _______________________________________________
> Moriyoshi> PHP-dev mailing list
> Moriyoshi> PHP-dev@php.gr.jp
> Moriyoshi> http://ns1.php.gr.jp/mailman/listinfo/php-dev
> 
> -- 
> Rui Hirokawa <rui_hirokawa@ybb.ne.jp>
> 
> _______________________________________________
> PHP-dev mailing list
> PHP-dev@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-dev

--------------Boundary_4L/fcMLK_s1RER-
Content-Type: text/plain; name="mbstring.c.diff.2.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="mbstring.c.diff.2.txt"

SW5kZXg6IG1ic3RyaW5nLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkv
cGhwNC9leHQvbWJzdHJpbmcvbWJzdHJpbmcuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4x
MjgKZGlmZiAtdSAtcjEuMTI4IG1ic3RyaW5nLmMKLS0tIG1ic3RyaW5nLmMJMyBOb3YgMjAw
MiAwODo1MDo0MyAtMDAwMAkxLjEyOAorKysgbWJzdHJpbmcuYwk5IE5vdiAyMDAyIDE1OjQ1
OjA0IC0wMDAwCkBAIC01MTQsNiArNTE0LDcgQEAKIHN0YXRpYyBQSFBfSU5JX01IKE9uVXBk
YXRlX21ic3RyaW5nX2xhbmd1YWdlKQogewogCWVudW0gbWJmbF9ub19sYW5ndWFnZSBub19s
YW5ndWFnZTsKKwljaGFyICpkZWZhdWx0X2VuYyA9IE5VTEw7CiAKIAlub19sYW5ndWFnZSA9
IG1iZmxfbmFtZTJub19sYW5ndWFnZShuZXdfdmFsdWUpOwogCWlmIChub19sYW5ndWFnZSAh
PSBtYmZsX25vX2xhbmd1YWdlX2ludmFsaWQpIHsKQEAgLTUyMSw0MiArNTIyLDQxIEBACiAJ
CWNhc2UgbWJmbF9ub19sYW5ndWFnZV9qYXBhbmVzZToKIAkJCU1CU1RSRyhsYW5ndWFnZSkg
PSBtYmZsX25vX2xhbmd1YWdlX2phcGFuZXNlOwogCQkJTUJTVFJHKGN1cnJlbnRfbGFuZ3Vh
Z2UpID0gbWJmbF9ub19sYW5ndWFnZV9qYXBhbmVzZTsKLQkJCU1CU1RSRyhpbnRlcm5hbF9l
bmNvZGluZykgPSBtYmZsX25vX2VuY29kaW5nX2V1Y19qcDsKLQkJCU1CU1RSRyhjdXJyZW50
X2ludGVybmFsX2VuY29kaW5nKSA9IG1iZmxfbm9fZW5jb2RpbmdfZXVjX2pwOworCQkJZGVm
YXVsdF9lbmMgPSAiRVVDLUpQIjsKIAkJCWJyZWFrOwogCQljYXNlIG1iZmxfbm9fbGFuZ3Vh
Z2Vfa29yZWFuOgogCQkJTUJTVFJHKGxhbmd1YWdlKSA9IG1iZmxfbm9fbGFuZ3VhZ2Vfa29y
ZWFuOwogCQkJTUJTVFJHKGN1cnJlbnRfbGFuZ3VhZ2UpID0gbWJmbF9ub19sYW5ndWFnZV9r
b3JlYW47Ci0JCQlNQlNUUkcoaW50ZXJuYWxfZW5jb2RpbmcpID0gbWJmbF9ub19lbmNvZGlu
Z19ldWNfa3I7Ci0JCQlNQlNUUkcoY3VycmVudF9pbnRlcm5hbF9lbmNvZGluZykgPSBtYmZs
X25vX2VuY29kaW5nX2V1Y19rcjsKKwkJCWRlZmF1bHRfZW5jID0gIkVVQy1LUiI7CiAJCQli
cmVhazsKIAkJY2FzZSBtYmZsX25vX2xhbmd1YWdlX3NpbXBsaWZpZWRfY2hpbmVzZToKIAkJ
CU1CU1RSRyhsYW5ndWFnZSkgPSBtYmZsX25vX2xhbmd1YWdlX3NpbXBsaWZpZWRfY2hpbmVz
ZTsKIAkJCU1CU1RSRyhjdXJyZW50X2xhbmd1YWdlKSA9IG1iZmxfbm9fbGFuZ3VhZ2Vfc2lt
cGxpZmllZF9jaGluZXNlOwotCQkJTUJTVFJHKGludGVybmFsX2VuY29kaW5nKSA9IG1iZmxf
bm9fZW5jb2RpbmdfZXVjX2NuOwotCQkJTUJTVFJHKGN1cnJlbnRfaW50ZXJuYWxfZW5jb2Rp
bmcpID0gbWJmbF9ub19lbmNvZGluZ19ldWNfY247CisJCQlkZWZhdWx0X2VuYyA9ICJFVUMt
Q04iOwogCQkJYnJlYWs7CiAJCWNhc2UgbWJmbF9ub19sYW5ndWFnZV90cmFkaXRpb25hbF9j
aGluZXNlOgogCQkJTUJTVFJHKGxhbmd1YWdlKSA9IG1iZmxfbm9fbGFuZ3VhZ2VfdHJhZGl0
aW9uYWxfY2hpbmVzZTsKIAkJCU1CU1RSRyhjdXJyZW50X2xhbmd1YWdlKSA9IG1iZmxfbm9f
bGFuZ3VhZ2VfdHJhZGl0aW9uYWxfY2hpbmVzZTsKLQkJCU1CU1RSRyhpbnRlcm5hbF9lbmNv
ZGluZykgPSBtYmZsX25vX2VuY29kaW5nX2V1Y190dzsKLQkJCU1CU1RSRyhjdXJyZW50X2lu
dGVybmFsX2VuY29kaW5nKSA9IG1iZmxfbm9fZW5jb2RpbmdfZXVjX3R3OworCQkJZGVmYXVs
dF9lbmMgPSAiRVVDLVRXIjsKIAkJCWJyZWFrOwogCQljYXNlIG1iZmxfbm9fbGFuZ3VhZ2Vf
cnVzc2lhbjoKIAkJCU1CU1RSRyhsYW5ndWFnZSkgPSBtYmZsX25vX2xhbmd1YWdlX3J1c3Np
YW47CiAJCQlNQlNUUkcoY3VycmVudF9sYW5ndWFnZSkgPSBtYmZsX25vX2xhbmd1YWdlX3J1
c3NpYW47Ci0JCQlNQlNUUkcoaW50ZXJuYWxfZW5jb2RpbmcpID0gbWJmbF9ub19lbmNvZGlu
Z19rb2k4cjsKLQkJCU1CU1RSRyhjdXJyZW50X2ludGVybmFsX2VuY29kaW5nKSA9IG1iZmxf
bm9fZW5jb2Rpbmdfa29pOHI7CisJCQlkZWZhdWx0X2VuYyA9ICJLT0k4LVIiOwogCQkJYnJl
YWs7CiAJCWNhc2UgbWJmbF9ub19sYW5ndWFnZV9lbmdsaXNoOgogCQlkZWZhdWx0OgogCQkJ
TUJTVFJHKGxhbmd1YWdlKSA9IG1iZmxfbm9fbGFuZ3VhZ2VfZW5nbGlzaDsKIAkJCU1CU1RS
RyhjdXJyZW50X2xhbmd1YWdlKSA9IG1iZmxfbm9fbGFuZ3VhZ2VfZW5nbGlzaDsKLQkJCU1C
U1RSRyhpbnRlcm5hbF9lbmNvZGluZykgPSBtYmZsX25vX2VuY29kaW5nXzg4NTlfMTsKLQkJ
CU1CU1RSRyhjdXJyZW50X2ludGVybmFsX2VuY29kaW5nKSA9IG1iZmxfbm9fZW5jb2Rpbmdf
ODg1OV8xOworCQkJZGVmYXVsdF9lbmMgPSAiSVNPLTg4NTktMSI7CiAJCQlicmVhazsKIAkJ
fQotCisJCWlmIChkZWZhdWx0X2VuYykgeworCQkJemVuZF9hbHRlcl9pbmlfZW50cnkoIm1i
c3RyaW5nLmludGVybmFsX2VuY29kaW5nIiwKKwkJCSAgICAgICAgICAgICAgICAgICAgIHNp
emVvZigibWJzdHJpbmcuaW50ZXJuYWxfZW5jb2RpbmciKSwKKwkJCSAgICAgICAgICAgICAg
ICAgICAgIGRlZmF1bHRfZW5jLCBzdHJsZW4oZGVmYXVsdF9lbmMpLAorCQkJICAgICAgICAg
ICAgICAgICAgICAgUEhQX0lOSV9QRVJESVIsIHN0YWdlKTsgCisJCX0KIAl9IGVsc2Ugewog
CQlyZXR1cm4gRkFJTFVSRTsKIAl9Co==

--------------Boundary_4L/fcMLK_s1RER-
Content-Type: text/plain; name="mbstring.c.diff.1.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="mbstring.c.diff.1.txt"

SW5kZXg6IG1ic3RyaW5nLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkv
cGhwNC9leHQvbWJzdHJpbmcvbWJzdHJpbmcuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4x
MjgKZGlmZiAtdSAtcjEuMTI4IG1ic3RyaW5nLmMKLS0tIG1ic3RyaW5nLmMJMyBOb3YgMjAw
MiAwODo1MDo0MyAtMDAwMAkxLjEyOAorKysgbWJzdHJpbmcuYwk5IE5vdiAyMDAyIDE1OjI4
OjQ1IC0wMDAwCkBAIC02NTQsNiArNjU0LDMzIEBACiB9CiAvKiB9fX0gKi8KIAorLyoge3t7
IHN0YXRpYyBaRU5EX0lOSV9ESVNQKF9waHBfbWJfaW50ZXJuYWxfZW5jb2RpbmdfZGlzcGxh
eWVyX2NiKSAqLworc3RhdGljIFpFTkRfSU5JX0RJU1AoX3BocF9tYl9pbnRlcm5hbF9lbmNv
ZGluZ19kaXNwbGF5ZXJfY2IpCit7CisJY29uc3QgY2hhciAqZGlzcGxheV9zdHJpbmc7CisJ
dW5zaWduZWQgaW50IGRpc3BsYXlfc3RyaW5nX2xlbmd0aDsKKworCWlmICh0eXBlPT1aRU5E
X0lOSV9ESVNQTEFZX09SSUcgJiYgaW5pX2VudHJ5LT5tb2RpZmllZCkgeworCQlpZiAoaW5p
X2VudHJ5LT5vcmlnX3ZhbHVlKSB7CisJCQlkaXNwbGF5X3N0cmluZyA9IGluaV9lbnRyeS0+
b3JpZ192YWx1ZTsKKwkJCWRpc3BsYXlfc3RyaW5nX2xlbmd0aCA9IGluaV9lbnRyeS0+b3Jp
Z192YWx1ZV9sZW5ndGg7CisJCX0gZWxzZSB7CisJCQlpZih6ZW5kX3V2Lmh0bWxfZXJyb3Jz
KSB7CisJCQkJZGlzcGxheV9zdHJpbmcgPSAibm8gdmFsdWUiOworCQkJCWRpc3BsYXlfc3Ry
aW5nX2xlbmd0aCA9IHNpemVvZigibm8gdmFsdWUiKS0xOworCQkJfSBlbHNlIHsKKwkJCQlk
aXNwbGF5X3N0cmluZyA9ICI8aT5ubyB2YWx1ZTwvaT4iOworCQkJCWRpc3BsYXlfc3RyaW5n
X2xlbmd0aCA9IHNpemVvZigiPGk+bm8gdmFsdWU8L2k+IiktMTsKKwkJCX0JCisJCX0KKwl9
IGVsc2UgeworCQlkaXNwbGF5X3N0cmluZyA9IG1iZmxfbm9fZW5jb2RpbmcybmFtZShNQlNU
UkcoaW50ZXJuYWxfZW5jb2RpbmcpKTsKKwkJZGlzcGxheV9zdHJpbmdfbGVuZ3RoID0gc3Ry
bGVuKGRpc3BsYXlfc3RyaW5nKTsKKwl9CisJWkVORF9XUklURShkaXNwbGF5X3N0cmluZywg
ZGlzcGxheV9zdHJpbmdfbGVuZ3RoKTsKK30KKy8qIH19fSAqLworCiAjaWZkZWYgWkVORF9N
VUxUSUJZVEUKIC8qIHt7eyBzdGF0aWMgUEhQX0lOSV9NSChPblVwZGF0ZV9tYnN0cmluZ19z
Y3JpcHRfZW5jb2RpbmcpICovCiBzdGF0aWMgUEhQX0lOSV9NSChPblVwZGF0ZV9tYnN0cmlu
Z19zY3JpcHRfZW5jb2RpbmcpCkBAIC03MzAsNyArNzU3LDcgQEAKIAkgUEhQX0lOSV9FTlRS
WSgibWJzdHJpbmcuZGV0ZWN0X29yZGVyIiwgTlVMTCwgUEhQX0lOSV9BTEwsIE9uVXBkYXRl
X21ic3RyaW5nX2RldGVjdF9vcmRlcikKIAkgUEhQX0lOSV9FTlRSWSgibWJzdHJpbmcuaHR0
cF9pbnB1dCIsIE5VTEwsIFBIUF9JTklfQUxMLCBPblVwZGF0ZV9tYnN0cmluZ19odHRwX2lu
cHV0KQogCSBQSFBfSU5JX0VOVFJZKCJtYnN0cmluZy5odHRwX291dHB1dCIsIE5VTEwsIFBI
UF9JTklfQUxMLCBPblVwZGF0ZV9tYnN0cmluZ19odHRwX291dHB1dCkKLQkgUEhQX0lOSV9F
TlRSWSgibWJzdHJpbmcuaW50ZXJuYWxfZW5jb2RpbmciLCBOVUxMLCBQSFBfSU5JX0FMTCwg
T25VcGRhdGVfbWJzdHJpbmdfaW50ZXJuYWxfZW5jb2RpbmcpCisJIFBIUF9JTklfRU5UUllf
RVgoIm1ic3RyaW5nLmludGVybmFsX2VuY29kaW5nIiwgTlVMTCwgUEhQX0lOSV9BTEwsIE9u
VXBkYXRlX21ic3RyaW5nX2ludGVybmFsX2VuY29kaW5nLCBfcGhwX21iX2ludGVybmFsX2Vu
Y29kaW5nX2Rpc3BsYXllcl9jYikKICNpZmRlZiBaRU5EX01VTFRJQllURQogCSBQSFBfSU5J
X0VOVFJZKCJtYnN0cmluZy5zY3JpcHRfZW5jb2RpbmciLCBOVUxMLCBQSFBfSU5JX0FMTCwg
T25VcGRhdGVfbWJzdHJpbmdfc2NyaXB0X2VuY29kaW5nKQogI2VuZGlmIC8qIFpFTkRfTVVM
VElCWVRFICovCj==

--------------Boundary_4L/fcMLK_s1RER---