哪位大侠能解释下这现象吗

zero_ilok 2012-11-20 09:55:06
我用的数据库时mysql5.5,里面的编码参数如下:
default-character-set=utf8
character-set-server=utf8
default-character-set=utf-8
default-collation=utf8_general_ci

用的是java写的代码,确定代码里的编码都已经统一为了utf-8,结果在保存中文时,出现下图现象:
mysql的dos窗口显示:

navicat界面的显示:

navicat界面显示正常,dos窗口还是乱了,
验证时,结果取出的都是正常的中文,这现象哪位大侠能解释下吗,小菜鸟比较喜欢用dos窗口,所以望大侠们赐教,,
...全文
166 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zero_ilok 2012-11-22
  • 打赏
  • 举报
回复
哎,一番折腾,总算找到解决办法了,如果是utf8编码,原来在dos下每次操作前,得先将显示结果编码set character_set_results='gbk'
zero_ilok 2012-11-22
  • 打赏
  • 举报
回复
嗯,查看了下dos窗口的属性,还真是gbk,大侠有啥方法能修改为utf-8吗
nmyangym 2012-11-21
  • 打赏
  • 举报
回复
测试了一下是dos下,把utf-8格式的字符,按"gbk"格式输出了。 楼主可以用下面的代码测试:

import java.io.*;
public class Codetest
{
	public static void main(String[] args) throws Exception
	{
		File file=new File("文档.txt");
		BufferedReader bf=new BufferedReader(new FileReader(file));
		String s=bf.readLine();
		byte[] b=s.getBytes("utf-8");
		String s2=new String(b,"gbk");
		System.out.println("s2 is "+s2);
	}
}

文档.txt用utf-8编码方式存入两个字:张三 输出: s2 is 寮犱笁
zero_ilok 2012-11-20
  • 打赏
  • 举报
回复
实体类写了,而且顺序都跟楼上说的一样,不过个人觉得这和实体类中的get,set方法顺序没啥关系吧,只是个人短见哈
lanyue_99 2012-11-20
  • 打赏
  • 举报
回复
不知道你写没写实体类,如果写了的话,把里面的对象的顺序改成和你数据库建表的字段顺序一样。并且实体类中的get方法和set方法的顺序也要和对象的顺序一样。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧