C# 验证无效字符串值Mysql:'\xD9\xBE\xD8\xA7\xDA\xA9
我想验证用户输入,用户是在文本框中插入无效文本还是复制粘贴无效字符 此异常通常发生在用户插入任何其他语言的文本时C# 验证无效字符串值Mysql:'\xD9\xBE\xD8\xA7\xDA\xA9,c#,mysql,asp.net,mariadb,C#,Mysql,Asp.net,Mariadb,我想验证用户输入,用户是在文本框中插入无效文本还是复制粘贴无效字符 此异常通常发生在用户插入任何其他语言的文本时 我需要正则表达式或任何其他方法来验证用户输入这里我做了一些变通 select HEX('你好') REGEXP '^(..)*(E[4-9])' as x Output 1--如果存在汉字,则返回1 select HEX('1234') REGEXP '^(..)*(E[4-9])' as x Output 0——如果不存在chiense字符,则返回“0”我找到了解决方案问题在于
我需要正则表达式或任何其他方法来验证用户输入这里我做了一些变通
select HEX('你好') REGEXP '^(..)*(E[4-9])' as x
Output
1--如果存在汉字,则返回1
select HEX('1234') REGEXP '^(..)*(E[4-9])' as x
Output
0——如果不存在chiense字符,则返回“0”我找到了解决方案问题在于,当我从存储过程的varchar数据类型中插入来自任何其他语言的文本时,它给出了上述错误,但在我在存储过程中添加了带有参数的字符集utf8后,如
IN spDescription VARCHAR(2048) CHARSET utf8
然后异常被解决添加一些样本数据和预期输出:@KKK,如果我输入一些类似的中文你好 “在varchar文本框中,则会出现此异常或任何其他语言我不相信您理解实际问题,@hishamshaid。”。这并不意味着用户提供了一个“无效”值。可以说,这个错误不可能意味着用户提供了什么。此错误表示应用程序在与数据库交互时未使用正确的字符编码,应用程序向数据库提供的字节与表使用的编码中的有效字符不对应。@Michael sqlbot我理解我的数据库有utf 8编码的问题,但我想验证错误,如果user copy粘贴了非英语的任何其他语言的文本,我必须验证文本以向用户提供错误信息用户。@Hishamshaid此错误与英语以外的其他语言无关,它是一个幼稚的错误(