[PHP-users 29358] mb_ereg() で漢字を正常に判別できない?

Qoo qoo @ ozzon.net
2006年 6月 9日 (金) 12:04:28 JST


初めて投稿させていただきます。
Qooと申します。


mb_ereg("^[一-龠]+$", $hoge);

にて漢字入力を確認しようとしているのですが、

一 上 伊 儀 刀 刊 吊 堀 尊 弊 戊 最 椀 稀
紀 耀 脊 蔀 言 訊 謀 踊 退 需 霊 養 圀 堊
夊 愀 戀 攀 昊 樊 權 渊 猊 笊 簀 紊 縊 舊
蘊 蜀 蜊 褊 贊 輊 鰊

の文字がはじかれてしまいます。
いろいろと情報を調べていたのですがどうしても
解決することができませんでした。

よろしくおねがいいたします。


----- ソースコード["UTF-8"で記述] ----------------
<?php
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");

$hoge = "一 丁 七 万 丈 ... 龠";

foreach (explode(" ", $hoge) AS $string) {
	if (!mb_ereg("^[一-龠]+$", $string)) {
		echo ("ERROR:". $string."\n");
	}
}
?>


----- 環境 ---------------------------------------
OS:      Windows XP
Apache: 1.3.35
PHP:     4.4.2.2


【php.ini】
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0

【.htaccess】
php_value mbstring.http_input UTF-8
php_value mbstring.http_output UTF-8
php_value mbstring.internal_encoding UTF-8


PHP-users メーリングリストの案内