图片打水印中文有乱码,求助。

daichangfu 2013-09-06 08:44:35

如上图红线标注的,第一个是个版权号,后面的就是两个中文文字,但是变成了两个口的样子。
网站部署在了 Linux(CentOS 6.3) + tomcat6.037下。
这个问题在我本地电脑是没有的,我本地电脑是win7。
我觉得是不是程序的错误,应该是Linux哪里设置的问题,是Linux系统字体的原因吗?
但是不知道是怎么修改。

有大神遇到过这个问题吗?求助了。
...全文
544 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
daichangfu 2013-09-22
  • 打赏
  • 举报
回复
【问题解决了】 Linux上需要安装中文字体, JRE里面也要安装中文字体的, 在$JAVA_HOME/jre/lib/fonts下新建一个fallback目录,复制程序用到的字体进去。 参考资料:http://ginge.iteye.com/blog/640693
快乐的2 2013-09-11
  • 打赏
  • 举报
回复
引用 7 楼 feg545 的回复:
感觉不像是乱码,倒像是没那种字体。 Linux上有宋体吗?
就是这个,没有字体.
caoco 2013-09-11
  • 打赏
  • 举报
回复
方框一般代表找不到这个字体,问号一般是编码的问题。你这个应该是字体的问题。
zqfddqr 2013-09-11
  • 打赏
  • 举报
回复
貌似没有字体,把字体安装一下
福来哥 2013-09-10
  • 打赏
  • 举报
回复
感觉不像是乱码,倒像是没那种字体。 Linux上有宋体吗?
key2value 2013-09-10
  • 打赏
  • 举报
回复
那Linux系统里支持中文编码吗?
s478853630 2013-09-10
  • 打赏
  • 举报
回复
/**
	 * 把字符印到图片上
	 * @param imgPath 图片路径(物理路径)
	 * @param text 准备的字符
	 * @param font 字体样式
	 * @param color 字体颜色
	 * @param left 图片的x坐标 (印的位置)
	 * @param top 图片的y坐标 (印的位置)
	 */
	public void fontImg(String imgPath, String text, Font font, Color color, int left, int top) {
		try {
			BufferedImage src = ImageIO.read(new File(imgPath));
            int width = src.getWidth();
            int height = src.getHeight();
            BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            Graphics graph = image.createGraphics();
            graph.drawImage(src, 0, 0, width, height, null);
            graph.setColor(color);
            graph.setFont(font);
            graph.drawString(text, left, top);
            graph.dispose();
            FileOutputStream out = new FileOutputStream(imgPath);
            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
            encoder.encode(image);
            out.close();
            image.flush();
            src.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
daichangfu 2013-09-10
  • 打赏
  • 举报
回复
引用 3 楼 u010786672 的回复:
LINUX默认UTF8,win7是GBK……该不是你的程序开发时语言环境不对?
我的项目文件整体都是UTF-8的,你说的这个问题不存在。
key2value 2013-09-06
  • 打赏
  • 举报
回复
LINUX默认UTF8,win7是GBK……该不是你的程序开发时语言环境不对?
lori0801 2013-09-06
  • 打赏
  • 举报
回复
个人觉得应该是Linux 系统的问题
daichangfu 2013-09-06
  • 打赏
  • 举报
回复
继续求助.

67,511

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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