mysql 判断字符串中是不是有汉字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 判断字符串中是不是有汉字相关的知识,希望对你有一定的参考价值。

在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是:
SELECT col FROM table WHERE length(col)!=char_length(col)
当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的。
参考技术A

    现在需要这么个方法
    private void 设置某类的警惕啊变量的值(string  info)

          info里包含静态变量名所在的类名和该类名的命名空间;
          利用反射根据传进来的字符串参数,给该静态变量赋值,可以做到吗?


    以上全都在同一个项目里

一句话判断字符串中是不是有汉字

参考技术A 1、用ASCII码判断

在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下:

string text = "是不是汉字,ABC,柯乐义";
for (int i = 0; i < text.Length; i++)

if ((int)text[i] > 127)

Console.WriteLine("是汉字");
else
Console.WriteLine("不是汉字");


2、用汉字的 UNICODE 编码范围判断

汉字的 UNICODE 编码范围是4e00-9fbb,具体代码如下:

string text = "是不是汉字,ABC,keleyi.com";
char[] c = text.ToCharArray();
for (int i = 0; i < c.Length;i++)

if (c[i] >= 0x4e00 && c[i] <= 0x9fbb)

Console.WriteLine("是汉字");
else
Console.WriteLine("不是汉字");


3、用正则表达式判断

用正则表达式判断也是用汉字的 UNICODE 编码范围,具体代码如下:

string text = "是不是汉字,ABC,keleyi.com";
for (int i = 0; i < text.Length; i++)

if (Regex.IsMatch(text[i].ToString(), @"[\u4e00-\u9fbb]+1quot;))

Console.WriteLine("是汉字");
else
Console.WriteLine("不是汉字");

以上是关于mysql 判断字符串中是不是有汉字的主要内容,如果未能解决你的问题,请参考以下文章

c语言中怎样判断一行中是不是有汉字

c语言如何判断输入的字符串是不是有汉字

C#中如何判断一个字符是汉字

js判断是不是包含汉字和字母

Delphi 判断是不是汉字

c#怎么判断字符串中包含汉字?