
linux服务器jdk1.7下使用ImageIO.write构造图片时无法处理中文
如题,相关代码如下:BufferedImageimage=newBufferedImage(imageWidth,imageHeight,BufferedImage.TY...
如题,相关代码如下:
BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_BGR);
Graphics graphics = image.getGraphics();
graphics.fillRect(0, 0, imageWidth, imageHeight); //先用白色填充整张图片,也就是背景
graphics.setColor(Color.BLACK); // 设置文字的颜色
graphics.drawString(“测试22”, 50, 70);
FileOutputStream fos = new FileOutputStream(“E:\e.png”);
ImageIO.write(image, "png", fos);//输出jpg图片
graphics.dispose(); // 释放资源
fos.close();
我本地是win7系统,jdk是1.6的,图片可以正常生成,中文也可以正常展示,但是在linux服务器上生成的图片只展示22两个字符,测试两个字没有展示出来,也没有乱码,服务器上jdk是openjdk1.7的,请教下各位大大是什么原因?是服务器配置问题还是代码问题? 展开
BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_BGR);
Graphics graphics = image.getGraphics();
graphics.fillRect(0, 0, imageWidth, imageHeight); //先用白色填充整张图片,也就是背景
graphics.setColor(Color.BLACK); // 设置文字的颜色
graphics.drawString(“测试22”, 50, 70);
FileOutputStream fos = new FileOutputStream(“E:\e.png”);
ImageIO.write(image, "png", fos);//输出jpg图片
graphics.dispose(); // 释放资源
fos.close();
我本地是win7系统,jdk是1.6的,图片可以正常生成,中文也可以正常展示,但是在linux服务器上生成的图片只展示22两个字符,测试两个字没有展示出来,也没有乱码,服务器上jdk是openjdk1.7的,请教下各位大大是什么原因?是服务器配置问题还是代码问题? 展开
2015-06-04 · 知道合伙人软件行家
关注

展开全部
中文通常都是Linux的编码问题
查看一下系统的编码吧,设置成UTF-8应该就可以了
另外,你的代码也要设置成UTF-8
或者两这都设置成一样的,UTF-8或者GBK
查看一下系统的编码吧,设置成UTF-8应该就可以了
另外,你的代码也要设置成UTF-8
或者两这都设置成一样的,UTF-8或者GBK

2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询