我在MySQL中插入中文字符时遇到问题。我只能在Query Browser / Workbench中插入中文字符,但它出现为'??'使用我的程序时。我以某种方式设法让它在我的计算机上工作(Windows 7),但当我在另一台(Windows 7上)上测试它时,它出现了问号。它也无法在Windows XP中文版上运行。有什么帮助吗?
答案 0 :(得分:0)
驱动程序正在以UTF-8传输,看到您对连接字符串的评论。数据库表字段也可能指定为UTF-8(选中此项)。
所以你在Java中有一个普通的Unicode字符串。通过转储String.getBytes("UTF-8")
检查。不应出现问号。
在Web应用程序中,您需要在使用Writer之前设置编码。否则你会得到这样的任务。错误的其他可能性是String.getBytes()
(默认操作系统编码),FileOutputStream上的Writer使用StreamOutputStream也没有编码。
答案 1 :(得分:0)
1.使用cmd连接数据库 例如:
D:\MySQL\bin>mysql -u root -D test -p
2.将数据库更改为UTF-8 例如:
mysql>alter database [database name] default character set utf8