Re: ver0.1.0 utf-8環境での不具合

投稿ツリー


このトピックの投稿一覧へ

AXYZ-SAK

なし Re: ver0.1.0 utf-8環境での不具合

msg# 1.1.1
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010/7/7 9:35 | 最終変更
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
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ