2024-03-22 03:41:01 | 我爱编程网
我遇到过和你一样的错误,
在你编写String gb = new String(“数据库查处来的中文”.getBytes("ISO-8859-1"),"UTF-8");这句话的时候请注意一下“数据库查处来的中文”必须是ISO-8859-1编码,否则转换失败。
另外光数据库是UTF-8编码是不行的,请确定一下数据库建表的时候是否设置成UTF-8编码。
希望我的回答能够帮助你,谢谢
我常用解决之道:
将 XP 系统下的 C:/windows/fonts/simsun.ttc 复制过来,比如复制到:/x/downloads/simsun.ttc
然后测试一下如下代码:
...
System.setProperty("awt.useSystemAAFontSettings","off");
Font font=Font.createFont(Font.TRUETYPE_FONT,new File("/x/downloads/simsun.ttc"));
font=font.deriveFont(12f);
Object[] os=UIManager.getLookAndFeelDefaults().keySet().toArray();
for(int i=0; i
String k=os[i].toString();
if(k.indexOf("font")>0){
UIManager.put(k, font);我爱编程网
}
}
JFrame f=new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setBounds(100,100,100,80);
JButton b=new JButton("中文测试");
f.add(b);
f.setVisible(true);
...
我爱编程网(https://www.52biancheng.com)小编还为大家带来我在java里的System.out.println(中文);运行后中文变成乱码了?的相关内容。
这个不仅是文件编码编译格式utf-8的问题,还与Windows系统的默认编码格式不一致有关,如果只是针对控制台而言解决乱码问题,只需使用javac -encoding utf-8 xxxxx.java编译java文件即可
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01