Java中文乱码&特殊字符解决方案
相信很多朋友遇到过Java的乱码问题,最近我也在解决一个“使用文本生成图片过程中中文以及特殊字符乱码”的问题;花了我大量时间,Debug了sun.font、sun.awt下面的各种源码,终于搞懂了其机制,解决了目前次问题;现在把问题解决过程给写下来,做个记录,以免以后再次遇到。
遇到的问题
下面是我想要执行的代码(经过极度简化,但是意思没变):
1 public static void main(String[] args) throws IOException { 2 File file = new File("test.png"); 3 Font font = new Font("宋体", Font.PLAIN, 10); 4 BufferedImage bi = new BufferedImage(400, 200, BufferedImage.TYPE_INT_ARGB); 5 Graphics2D g2 = (Graphics2D) bi.getGraphics(); 6 g2.setBackground(Color.WHITE); 7 g2.clearRect(0, 0, 400, 200); 8 g2.setFont(font); 9 g2.setColor(Color.BLACK); 10 g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, Rende