高分相求 Graphics.drawString 的问题 设置编码方式,如:String name = "这是测试程序" ;new String(name.getBytes("8859_1"), "GBK") 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上这样不对的, 我的文字是直接在 bean 里定义的, 不是页面传来的!!所以,假如用 String name = "这是测试程序" ; new String(name.getBytes("8859_1"), "GBK")那这样,经过一次转换,出来的会是 "?" 号 这个问题我遇到过,是JDK的问题。C:\j2sdk1.4.2_01\jre\lib\font.property.zh改为:# @(#)font.properties.zh 1.10 02/03/07## Copyright 2002 Sun Microsystems, Inc. All rights reserved.## Component Font Mappings#dialog.plain.0=Arial,ANSI_CHARSETdialog.plain.1=\u5b8b\u4f53,GB2312_CHARSETdialog.plain.2=WingDings,SYMBOL_CHARSETdialog.plain.3=Symbol,SYMBOL_CHARSETdialog.bold.0=Arial,ANSI_CHARSETdialog.bold.1=\u5b8b\u4f53,GB2312_CHARSETdialog.bold.2=WingDings,SYMBOL_CHARSETdialog.bold.3=Symbol,SYMBOL_CHARSETdialog.italic.0=Arial,ANSI_CHARSETdialog.italic.1=\u5b8b\u4f53,GB2312_CHARSETdialog.italic.2=WingDings,SYMBOL_CHARSETdialog.italic.3=Symbol,SYMBOL_CHARSETdialog.bolditalic.0=Arial,ANSI_CHARSETdialog.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSETdialog.bolditalic.2=WingDings,SYMBOL_CHARSETdialog.bolditalic.3=Symbol,SYMBOL_CHARSETdialoginput.plain.0=Courier New,ANSI_CHARSETdialoginput.plain.1=\u5b8b\u4f53,GB2312_CHARSETdialoginput.plain.2=WingDings,SYMBOL_CHARSETdialoginput.plain.3=Symbol,SYMBOL_CHARSETdialoginput.bold.0=Courier New,ANSI_CHARSETdialoginput.bold.1=\u5b8b\u4f53,GB2312_CHARSETdialoginput.bold.2=WingDings,SYMBOL_CHARSETdialoginput.bold.3=Symbol,SYMBOL_CHARSETdialoginput.italic.0=Courier New,ANSI_CHARSETdialoginput.italic.1=\u5b8b\u4f53,GB2312_CHARSETdialoginput.italic.2=WingDings,SYMBOL_CHARSETdialoginput.italic.3=Symbol,SYMBOL_CHARSETdialoginput.bolditalic.0=Courier New,ANSI_CHARSETdialoginput.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSETdialoginput.bolditalic.2=WingDings,SYMBOL_CHARSETdialoginput.bolditalic.3=Symbol,SYMBOL_CHARSETserif.plain.0=Times New Roman,ANSI_CHARSETserif.plain.1=\u5b8b\u4f53,GB2312_CHARSETserif.plain.2=WingDings,SYMBOL_CHARSETserif.plain.3=Symbol,SYMBOL_CHARSETserif.bold.0=Times New Roman,ANSI_CHARSETserif.bold.1=\u5b8b\u4f53,GB2312_CHARSETserif.bold.2=WingDings,SYMBOL_CHARSETserif.bold.3=Symbol,SYMBOL_CHARSETserif.italic.0=Times New Roman,ANSI_CHARSETserif.italic.1=\u5b8b\u4f53,GB2312_CHARSETserif.italic.2=WingDings,SYMBOL_CHARSETserif.italic.3=Symbol,SYMBOL_CHARSETserif.bolditalic.0=Times New Roman,ANSI_CHARSETserif.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSETserif.bolditalic.2=WingDings,SYMBOL_CHARSETserif.bolditalic.3=Symbol,SYMBOL_CHARSETsansserif.plain.0=Arial,ANSI_CHARSETsansserif.plain.1=\u5b8b\u4f53,GB2312_CHARSETsansserif.plain.2=WingDings,SYMBOL_CHARSETsansserif.plain.3=Symbol,SYMBOL_CHARSETsansserif.bold.0=Arial,ANSI_CHARSETsansserif.bold.1=\u5b8b\u4f53,GB2312_CHARSETsansserif.bold.2=WingDings,SYMBOL_CHARSETsansserif.bold.3=Symbol,SYMBOL_CHARSETsansserif.italic.0=Arial,ANSI_CHARSETsansserif.italic.1=\u5b8b\u4f53,GB2312_CHARSETsansserif.italic.2=WingDings,SYMBOL_CHARSETsansserif.italic.3=Symbol,SYMBOL_CHARSETsansserif.bolditalic.0=Arial,ANSI_CHARSETsansserif.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSETsansserif.bolditalic.2=WingDings,SYMBOL_CHARSETsansserif.bolditalic.3=Symbol,SYMBOL_CHARSETmonospaced.plain.0=\u5b8b\u4f53,GB2312_CHARSETmonospaced.plain.1=\u5b8b\u4f53,GB2312_CHARSETmonospaced.plain.2=WingDings,SYMBOL_CHARSETmonospaced.plain.3=Symbol,SYMBOL_CHARSETmonospaced.bold.0=\u5b8b\u4f53,GB2312_CHARSETmonospaced.bold.1=\u5b8b\u4f53,GB2312_CHARSETmonospaced.bold.2=WingDings,SYMBOL_CHARSETmonospaced.bold.3=Symbol,SYMBOL_CHARSETmonospaced.italic.0=\u5b8b\u4f53,GB2312_CHARSETmonospaced.italic.1=\u5b8b\u4f53,GB2312_CHARSETmonospaced.italic.2=WingDings,SYMBOL_CHARSETmonospaced.italic.3=Symbol,SYMBOL_CHARSETmonospaced.bolditalic.0=\u5b8b\u4f53,GB2312_CHARSETmonospaced.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSETmonospaced.bolditalic.2=WingDings,SYMBOL_CHARSETmonospaced.bolditalic.3=Symbol,SYMBOL_CHARSET# Font File Names#filename.\u5b8b\u4f53=SIMSUN.TTCfilename.Arial=ARIAL.TTFfilename.Arial_Bold=ARIALBD.TTFfilename.Arial_Italic=ARIALI.TTFfilename.Arial_Bold_Italic=ARIALBI.TTFfilename.Courier_New=COUR.TTFfilename.Courier_New_Bold=COURBD.TTFfilename.Courier_New_Italic=COURI.TTFfilename.Courier_New_Bold_Italic=COURBI.TTFfilename.Times_New_Roman=TIMES.TTFfilename.Times_New_Roman_Bold=TIMESBD.TTFfilename.Times_New_Roman_Italic=TIMESI.TTFfilename.Times_New_Roman_Bold_Italic=TIMESBI.TTFfilename.WingDings=WINGDING.TTFfilename.Symbol=SYMBOL.TTF# Missing Glyph Character#default.char=2751# Component Font Character Encodings#fontcharset.dialog.1=sun.io.CharToByteGBKfontcharset.dialog.2=sun.awt.windows.CharToByteWingDingsfontcharset.dialog.3=sun.awt.CharToByteSymbolfontcharset.dialoginput.1=sun.io.CharToByteGBKfontcharset.dialoginput.2=sun.awt.windows.CharToByteWingDingsfontcharset.dialoginput.3=sun.awt.CharToByteSymbolfontcharset.serif.1=sun.io.CharToByteGBKfontcharset.serif.2=sun.awt.windows.CharToByteWingDingsfontcharset.serif.3=sun.awt.CharToByteSymbolfontcharset.sansserif.1=sun.io.CharToByteGBKfontcharset.sansserif.2=sun.awt.windows.CharToByteWingDingsfontcharset.sansserif.3=sun.awt.CharToByteSymbolfontcharset.monospaced.0=sun.io.CharToByteGBKfontcharset.monospaced.1=sun.io.CharToByteGBKfontcharset.monospaced.2=sun.awt.windows.CharToByteWingDingsfontcharset.monospaced.3=sun.awt.CharToByteSymbol# Exclusion Ranges#exclusion.dialog.0=0100-20ab,20ad-f8ffexclusion.dialoginput.0=0100-20ab,20ad-f8ffexclusion.serif.0=0100-20ab,20ad-f8ffexclusion.sansserif.0=0100-20ab,20ad-f8ffexclusion.monospaced.0=0100-20ab,20ad-f8ff# Text Input Character Set#inputtextcharset=GB2312_CHARSET 呵呵,楼上的解决方法,我认为还是不能解决问题,关键在于字体的设置,并不是编码的问题。g.setFont(new Font("宋体",12,0));然后再g.drawString,看看如何? 回复人: zhang21cnboy(事了抚衣去,不留身与名) ( ) 信誉:100 2005-03-08 09:24:00 得分: 0 呵呵,楼上的解决方法,我认为还是不能解决问题,关键在于字体的设置,并不是编码的问题。g.setFont(new Font("宋体",12,0));然后再g.drawString,看看如何? *****************************************************************8牛,呵呵,我现在写成 g.setFont(new Font("宋体", Font.BOLD, 30)) ,就行了 问题又来了, g.setFont(new Font("宋体", Font.BOLD, 30)); g.drawString("统计分析", 50, 505);这段代码在windows 下正确执行,中文也是正确的,但放到 unix 下,就又变成方框了. 是 unix 没有这字体,那该怎么做呢? hibernate 这样一个子查询 怎么写 ? 如何在 jsp 里面嵌入 ppt 文件 关于报表方面的问题~~~~ hibernate中用max查询出错 如何用sql语句把输出内容颠倒过来 split 函数? 哪位大哥见过这种问题:cannot resolve symbol 在线等待!!! 怎样在JSP中调用带参数的beans? jsp 文件操作 转换脚本!急!~~~~~~~~~~~~~ 配置TOMCAT4.1连接池出现的错误 分不是问题,大家来探讨,给点思路或是相关资料
String name = "这是测试程序" ;
new String(name.getBytes("8859_1"), "GBK")那这样,经过一次转换,出来的会是 "?" 号
C:\j2sdk1.4.2_01\jre\lib\font.property.zh改为:
# @(#)font.properties.zh 1.10 02/03/07
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
## Component Font Mappings
#
dialog.plain.0=Arial,ANSI_CHARSET
dialog.plain.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.plain.2=WingDings,SYMBOL_CHARSET
dialog.plain.3=Symbol,SYMBOL_CHARSETdialog.bold.0=Arial,ANSI_CHARSET
dialog.bold.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.bold.2=WingDings,SYMBOL_CHARSET
dialog.bold.3=Symbol,SYMBOL_CHARSETdialog.italic.0=Arial,ANSI_CHARSET
dialog.italic.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.italic.2=WingDings,SYMBOL_CHARSET
dialog.italic.3=Symbol,SYMBOL_CHARSETdialog.bolditalic.0=Arial,ANSI_CHARSET
dialog.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.bolditalic.2=WingDings,SYMBOL_CHARSET
dialog.bolditalic.3=Symbol,SYMBOL_CHARSETdialoginput.plain.0=Courier New,ANSI_CHARSET
dialoginput.plain.1=\u5b8b\u4f53,GB2312_CHARSET
dialoginput.plain.2=WingDings,SYMBOL_CHARSET
dialoginput.plain.3=Symbol,SYMBOL_CHARSETdialoginput.bold.0=Courier New,ANSI_CHARSET
dialoginput.bold.1=\u5b8b\u4f53,GB2312_CHARSET
dialoginput.bold.2=WingDings,SYMBOL_CHARSET
dialoginput.bold.3=Symbol,SYMBOL_CHARSETdialoginput.italic.0=Courier New,ANSI_CHARSET
dialoginput.italic.1=\u5b8b\u4f53,GB2312_CHARSET
dialoginput.italic.2=WingDings,SYMBOL_CHARSET
dialoginput.italic.3=Symbol,SYMBOL_CHARSETdialoginput.bolditalic.0=Courier New,ANSI_CHARSET
dialoginput.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET
dialoginput.bolditalic.2=WingDings,SYMBOL_CHARSET
dialoginput.bolditalic.3=Symbol,SYMBOL_CHARSETserif.plain.0=Times New Roman,ANSI_CHARSET
serif.plain.1=\u5b8b\u4f53,GB2312_CHARSET
serif.plain.2=WingDings,SYMBOL_CHARSET
serif.plain.3=Symbol,SYMBOL_CHARSETserif.bold.0=Times New Roman,ANSI_CHARSET
serif.bold.1=\u5b8b\u4f53,GB2312_CHARSET
serif.bold.2=WingDings,SYMBOL_CHARSET
serif.bold.3=Symbol,SYMBOL_CHARSETserif.italic.0=Times New Roman,ANSI_CHARSET
serif.italic.1=\u5b8b\u4f53,GB2312_CHARSET
serif.italic.2=WingDings,SYMBOL_CHARSET
serif.italic.3=Symbol,SYMBOL_CHARSETserif.bolditalic.0=Times New Roman,ANSI_CHARSET
serif.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET
serif.bolditalic.2=WingDings,SYMBOL_CHARSET
serif.bolditalic.3=Symbol,SYMBOL_CHARSETsansserif.plain.0=Arial,ANSI_CHARSET
sansserif.plain.1=\u5b8b\u4f53,GB2312_CHARSET
sansserif.plain.2=WingDings,SYMBOL_CHARSET
sansserif.plain.3=Symbol,SYMBOL_CHARSETsansserif.bold.0=Arial,ANSI_CHARSET
sansserif.bold.1=\u5b8b\u4f53,GB2312_CHARSET
sansserif.bold.2=WingDings,SYMBOL_CHARSET
sansserif.bold.3=Symbol,SYMBOL_CHARSETsansserif.italic.0=Arial,ANSI_CHARSET
sansserif.italic.1=\u5b8b\u4f53,GB2312_CHARSET
sansserif.italic.2=WingDings,SYMBOL_CHARSET
sansserif.italic.3=Symbol,SYMBOL_CHARSETsansserif.bolditalic.0=Arial,ANSI_CHARSET
sansserif.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET
sansserif.bolditalic.2=WingDings,SYMBOL_CHARSET
sansserif.bolditalic.3=Symbol,SYMBOL_CHARSETmonospaced.plain.0=\u5b8b\u4f53,GB2312_CHARSET
monospaced.plain.1=\u5b8b\u4f53,GB2312_CHARSET
monospaced.plain.2=WingDings,SYMBOL_CHARSET
monospaced.plain.3=Symbol,SYMBOL_CHARSETmonospaced.bold.0=\u5b8b\u4f53,GB2312_CHARSET
monospaced.bold.1=\u5b8b\u4f53,GB2312_CHARSET
monospaced.bold.2=WingDings,SYMBOL_CHARSET
monospaced.bold.3=Symbol,SYMBOL_CHARSETmonospaced.italic.0=\u5b8b\u4f53,GB2312_CHARSET
monospaced.italic.1=\u5b8b\u4f53,GB2312_CHARSET
monospaced.italic.2=WingDings,SYMBOL_CHARSET
monospaced.italic.3=Symbol,SYMBOL_CHARSETmonospaced.bolditalic.0=\u5b8b\u4f53,GB2312_CHARSET
monospaced.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET
monospaced.bolditalic.2=WingDings,SYMBOL_CHARSET
monospaced.bolditalic.3=Symbol,SYMBOL_CHARSET# Font File Names
#
filename.\u5b8b\u4f53=SIMSUN.TTCfilename.Arial=ARIAL.TTF
filename.Arial_Bold=ARIALBD.TTF
filename.Arial_Italic=ARIALI.TTF
filename.Arial_Bold_Italic=ARIALBI.TTFfilename.Courier_New=COUR.TTF
filename.Courier_New_Bold=COURBD.TTF
filename.Courier_New_Italic=COURI.TTF
filename.Courier_New_Bold_Italic=COURBI.TTFfilename.Times_New_Roman=TIMES.TTF
filename.Times_New_Roman_Bold=TIMESBD.TTF
filename.Times_New_Roman_Italic=TIMESI.TTF
filename.Times_New_Roman_Bold_Italic=TIMESBI.TTFfilename.WingDings=WINGDING.TTF
filename.Symbol=SYMBOL.TTF# Missing Glyph Character
#
default.char=2751# Component Font Character Encodings
#
fontcharset.dialog.1=sun.io.CharToByteGBK
fontcharset.dialog.2=sun.awt.windows.CharToByteWingDings
fontcharset.dialog.3=sun.awt.CharToByteSymbolfontcharset.dialoginput.1=sun.io.CharToByteGBK
fontcharset.dialoginput.2=sun.awt.windows.CharToByteWingDings
fontcharset.dialoginput.3=sun.awt.CharToByteSymbolfontcharset.serif.1=sun.io.CharToByteGBK
fontcharset.serif.2=sun.awt.windows.CharToByteWingDings
fontcharset.serif.3=sun.awt.CharToByteSymbolfontcharset.sansserif.1=sun.io.CharToByteGBK
fontcharset.sansserif.2=sun.awt.windows.CharToByteWingDings
fontcharset.sansserif.3=sun.awt.CharToByteSymbolfontcharset.monospaced.0=sun.io.CharToByteGBK
fontcharset.monospaced.1=sun.io.CharToByteGBK
fontcharset.monospaced.2=sun.awt.windows.CharToByteWingDings
fontcharset.monospaced.3=sun.awt.CharToByteSymbol# Exclusion Ranges
#
exclusion.dialog.0=0100-20ab,20ad-f8ff
exclusion.dialoginput.0=0100-20ab,20ad-f8ff
exclusion.serif.0=0100-20ab,20ad-f8ff
exclusion.sansserif.0=0100-20ab,20ad-f8ff
exclusion.monospaced.0=0100-20ab,20ad-f8ff# Text Input Character Set
#
inputtextcharset=GB2312_CHARSET
g.setFont(new Font("宋体",12,0));
然后再g.drawString,看看如何?
呵呵,楼上的解决方法,我认为还是不能解决问题,关键在于字体的设置,并不是编码的问题。
g.setFont(new Font("宋体",12,0));
然后再g.drawString,看看如何?
*****************************************************************8牛,呵呵,我现在写成 g.setFont(new Font("宋体", Font.BOLD, 30)) ,就行了
g.drawString("统计分析", 50, 505);这段代码在windows 下正确执行,中文也是正确的,但放到 unix 下,就又变成方框了. 是 unix 没有这字体,那该怎么做呢?