貌似记得以前传过一个,是我自己写的,今天这个是网上的,来自:
http://www.cnblogs.com/zcy_soft/archive/2010/12/13/1904791.html
- /*中文判断问题,其实有很多学问,底层的内部编码,涉及utf-8,gbk,gb13800的各种不同。曾经研究过如何区分一个字符是什么字符的问题。关联细节太多。
-
- 今天搞了个php判断中文的代码。希望能对研究中文判断的朋友提供帮助。*/
- New Document
- $str = "中国";
- echo $str;
- echo "
";
- //if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
- if (preg_match("/^[x7f-xff]+$/", $str)) { //兼容gb2312,utf-8
- echo "正确输入";
- } else {
- echo "错误输入";
- }
- ?>
- /*
- 编码表
- 双字节字符编码范围
- 1. GBK (GB2312/GB18030)
- x00-xff GBK双字节编码范围
- x20-x7f ASCII
- xa1-xff 中文 gb2312
- x80-xff 中文 gbk
- 2. UTF-8 (Unicode)
- u4e00-u9fa5 (中文)
- x3130-x318F (韩文
- xAC00-xD7A3 (韩文)
- u0800-u4e00 (日文)*/
复制代码
|