如果你只是为了检测查询结果乱码的问题的话,建议你先将代码修改成如下:
ClassforName("commysqljdbcDriver")newInstance();
String url = "jdbc:mysql://localhost:3306/b2buseUnicode=true&characterEncoding=UTF-8";
Connection con = DriverManagergetConnection(url, "root", "root");
//这是运行代码
//Connection con = SQLDBDB();
Statement st = concreateStatement();
//ResultSet rs = stexecuteQuery("select userid,username,company,avatar from b2b_member //where company like '%北京%'");
ResultSet rs = stexecuteQuery("select from b2b_member limit 0,10");
while (rsnext()) {
Systemoutprintln(rsgetInt("userid") + " : " + rsgetString("username"));
}
这样首先确保能从数据库中查询到结果,然后看包含有中文的记录是否乱码。
如果确实是中文乱码了,那么你应该看数据库表中对应记录的汉字内容是否在存储的时候就已经乱码了,如果数据库中的内容正常,而查询出来的结果乱码的话,基本上可以肯定数据库存储字段的数据格式跟你url的“utf8”格式拼配不上造成的;
如果这样检查了,数据库字段的存储格式也是"utf8",那么很有可能就是项目的编码格式不是造成java文件编译时,sql语句中的中文发生了乱码,比如myeclipse的默认编码格式就是"GBK";
我不知道这算不算sql的正则表达式,它只模糊查询但是可以达到正则表达式的效果select from shop_yw where name2 between '李明' and '张明'select from shop_yw where name2 like '%李%'select from shop_yw where name2 like '[李明-张立]'select from shop_yw where name2 like '[a-z]'select from shop_yw where name2 like '-['李','赵']'select from shop_yw where name2 like '[^a-f]'
以上就是关于中文数据库查询乱码全部的内容,包括:中文数据库查询乱码、SQL数据库查询使用正则表达式如何查询中文、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)