急!!!!!怎么判断中文??? 小第现在想要判断MYSQL数据中NAME的值,如果是中文的不要,如果是英文的提出来存到另一个表里面。怎么来判断中文呢?请教各位大侠,谢谢!分数可以多给,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就做一函数取一个字符,判断ASCII是不是<=128 && >=0,超出这范转,就当是汉字... yxtyxt3311(韬) ( ) 信誉:100 是错误的,因为JAVA采用UNICODE编码在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。 你的是什么库?如果是sqlserver的话,就不可能是gb2312,要不就是乱码 jeader(http://blog.csdn.net/jeader) 是正解 我这有个笨法子,不知道行不行:String s = "中文";byte[] a = s.getBytes();for (int i=0; i<a.length; i++){ if (a[i] == 63){ System.out.println("s不是英文"); break; }} sorry改一下:byte[] a = s.getBytes("ASCII"); 先打出每个字符的unicode码看看:首先要明确什么是汉字,汉字的unicode有个范围,剩下的自己去分析了public class Test {public static void main(String[] args){String text = "adads中w打发上dsfds"; char[] chars = text.toCharArray(); for (int i = 0; i < chars.length; i++) { System.out.println(chars[i] + "---unicode---" + Integer.toHexString(chars[i]));}}近似的:String text = "adads中打发上dsfds"; char[] chars = text.toCharArray(); for (int i = 0; i < chars.length; i++) { if (chars[i] > 256) System.out.println("ch:" + chars[i] ); else System.out.println("en:" + chars[i] ); } 用正则表达式,参考Java API Docs: java.util.regex.PatternSystem.out.println(Pattern.compile("[\u4e00-\u9fa5]").matcher("a").find());//[\u4e00-\u9fa5] 匹配中文字符的正则表达式//"a" 你想判断的字符 关于Java时间转换的问题 C/S转移到B/S的一个疑问 请教一下新手学jsp的问题 如何对hashmap按value值排序?求简单的方法 哪位大神帮小弟解决下问题啊,谢谢了 关于开发环境的比较. 急急!jbuilder8 enterprise trial版本怎样注册? The complete java2 certification study guide 哪儿有下载的? 高分索取upload和download的源代码 新手的问题???? switch语句中字符串做为参数怎么实现 有关牌类游戏的开发问题
因为JAVA采用UNICODE编码在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。
for (int i=0; i<a.length; i++){
if (a[i] == 63){
System.out.println("s不是英文");
break;
}
}
首先要明确什么是汉字,汉字的unicode有个范围,剩下的自己去分析了
public class Test {
public static void main(String[] args){
String text = "adads中w打发上dsfds"; char[] chars = text.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i] + "---unicode---" + Integer.toHexString(chars[i]));}}
近似的:
String text = "adads中打发上dsfds"; char[] chars = text.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[i] > 256)
System.out.println("ch:" + chars[i] );
else
System.out.println("en:" + chars[i] );
}
//"a" 你想判断的字符