[u4e00-u9fa5] が中国語と一致しない理由

WBOY
リリース: 2016-06-23 14:04:41
オリジナル
2556 人が閲覧しました

PHP の preg_match() 関数を使用して中国語を照合すると、
照合ルールは次のように記述されます。

$rule ='/[\u4e00-\u9fa5]/';
ログイン後にコピー

u が不明であるというコンパイル エラーが発生します。
どうすればよいですか?
PHP は、utf-8 でエンコードされた中国語と gb2312 でエンコードされた中国語をどのように照合しますか? ?


ディスカッションに返信(解決策)

/[x{4e00}-x{9fa5}]/u
文字列には Unicode が必要です

gbk と utf-8 は異なります...utf-8 は非常に複雑です簡単にマッチングできます...

テストしたところ、
マッチング結果が文字化けしてしまいました。

	function pregCh($test){		$rule ='/[\x{4e00}-\x{9fa5}]/u';		preg_match($rule,$test,$result);		return $result;	}	$test ='asfasdhs中afhajs90中文8327849023';	var_dump(pregCh($test));
ログイン後にコピー

出力結果は
array(1) { [0]=> string(3) "涓?" }
ページのエンコーディングは utf-8 です
なぜですか?

php ファイル自体が gbk エンコードされています
または charset が utf-8 に設定されていません

php ファイルが utf-8 エンコードされていません

ああ、
なるほど、
notepad++ を使用しました
設定形式は utf -8,
マッチング結果が文字化け,
header('Content-type: text/html; charset=utf-8'); を追加しました,
以上です,
エディタが汚いです

誰が欲しいと言ったのですかいわゆる「国際化」?
中国No.1! GBK全能

いわゆる「国際化」を望むように誰が言ったのですか?
中国No.1! GBK全能
司会者が批判

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート