Re: ver0.1.0 utf-8環境での不具合
投稿ツリー
-
ver0.1.0 utf-8環境での不具合 (AXYZ-SAK, 2010/7/5 16:20)
-
Re: ver0.1.0 utf-8環境での不具合 (なーお, 2010/7/5 19:51)
-
Re: ver0.1.0 utf-8環境での不具合 (AXYZ-SAK, 2010/7/7 9:35)
- Re: ver0.1.0 utf-8環境での不具合 (なーお, 2010/7/8 7:22)
-
Re: ver0.1.0 utf-8環境での不具合 (AXYZ-SAK, 2010/7/7 9:35)
-
Re: ver0.1.0 utf-8環境での不具合 (なーお, 2010/7/5 19:51)
AXYZ-SAK
投稿数: 13
引用:
mb_substr関数は、byte指定ではなくて文字数指定ですよね。
おぅ……確かに。
すっとぼけてました _| ̄|○
引用:
調べるとphpのロケール関連で環境依存になりそうですね。
手元にUTF-8などの3バイト文字ロケール環境が無いので検証できないのですが、
例えば、以下のような感じでどうでしょうか。
(mb_substrがfalseを返すようですと元も子も無いですが。。)
検証してみたところ、みごとにコケました。
で、mb_internal_encodingの返り値を見てみたら……ISO-8859-1。
どうやら、当該サーバのphp.iniで、mbstring.internal_encodingがpassに
指定されているようで。
まぁ、広汎かつ多岐にわたって使用される事を前提にしたサーバだと
あってもおかしくはない設定ではあります。
で、その辺を鑑みた場合……
引用:
$str_enco = mb_internal_encoding();
これを、$str_enco = _CHARSET; にしちゃった方が現実的かな、とw
ちなみにこれも、当該症状の発生している環境でテストしましたが
正常動作いたしました。
投票数:0
平均点:0.00
返信する