
问题描述 我编写的JAVA程序中的Swing/AWT组件中的中文显示都是方框 而标题却能正常显示中文 且使用 System out println( 中文字符串 )能正常显示中文 解决思路 可能是JRE的中文字库不支持引起 所以添加一个可以支持的中文字库 解决办法 第一步 下载中文字库 我使用的是c 可以直接在Windows(我用的是XP的系统)中找到 入径为C:\WINDOWS\Fonts下的c 也可以在网站上下载 推荐天网网站 bin/searchword=c
第二步 将中文字库c放入Jre的字库中 *** 作如下 cd <JAVA_HOME>/lib/fonts或者cd <JAVA_HOME>/jre/lib/fonts mkdir fallback (fallback代表存放后备语言的文件夹) 其中<JAVA_HOME>是你安装jdk/jre的路径 我的是/usr/lib/jdk 复制或者链接一个中文字体至其下 ln s /usr/share/fonts/truetype/f /usr/lib/jdk /jre/lib/fonts/fallback/f
第三步 有了上面的步骤之后 就可以在代码中编码实现显示中文了 *** 作如下: 在main 函数中的开头处添加如下代码 Font f = new Font( 宋体 Font PLAIN ); UIManager put( Label font f); UIManager put( Label foreground Color black); UIManager put( Button font f); UIManager put( Menu font f); UIManager put( MenuItem font f); UIManager put( List font f); UIManager put( CheckBox font f); UIManager put( RadioButton font f); UIManager put( ComboBox font f); UIManager put( TextArea font f); UIManager put( EditorPane font f); UIManager put( ScrollPane font f); UIManager put( ToolTip font f); UIManager put( TextField font f); UIManager put( TableHeader font f); UIManager put( Table font f);
lishixinzhi/Article/program/Java/hx/201311/26535
你建工程的时候编码是多少?
右键单击工程名
-->
Properties
-->
Resource
-->
Text
file
encoding
-->
Inherited
from
container是默认编码。
Other可以选择编码。一般选择UTF-8。你可以试试
大多数情况因为编码不一致造成。在web开发中,tomcat的默认为iso-8859-1而实际项目中,用的大多数是utf-8解决方法有两个
在java程序中转换
在tomcat容器中将编码改为utf-8
中文乱码是因为编码格式不一致导致的。
进入Eclipse,导入一个项目工程,如果项目文件的编码与工具编码不一致 将会造成乱码。
如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。
修改默认编码:
在菜单导航栏上Window-->Preferences 打开"首选项"对话框,左侧导航树,导航到 General-->Workspace。
Windows 7平台默认为GBK,简体中文 *** 作系统Windows XP、Windows 2000简体中文的缺省编码是GB18030,Linux平台默认为UTF-8,那么在此工作空间中建立的工程编码是GBK,工程中建立的java文件也是GBK。
可以看到默认的是GBK编码格式,我们修改为UTF-8编码格式或者是你需要的编码格式,点击Apply,点击OK
有时候需要某种类型的文件,如:jsp、java等
导航栏window-->preferences
打开"首选项"对话框,左侧导航树,导航到 Genera-->Content Types
右边找到要修改的文件的类型,以java为例
在下面的Default encoding,输入框中输入UTF-8->Update->OK
修改单个文件的编码:在包资源管理器右键点击文件->属性,改变文本文件编码格式为UTF-8 。经过上述步骤,新建java文件即为UTF-8编码,新建项目也是UTF-8编码,在Eclipse编译、运行、调试都是没问题的。
注意事项:
请保持编码一致,不然会造成乱码,在Java开发中一般以UTF-8为主
在转换编码前可以先备份。
最近用到了字符串的压缩 用到了GZipInputStream和GZipOutputStream 再次遇到了阔别已久的中文乱码问题 看了一些相关的文章 觉得我们之所以会遇到这样那样的乱码问题 基本上都是由于我们在某些地方隐含了byte到char的转换 而这种隐含的转换采用的是iso 的编码进行的 以jsp页面中文传递为例子 假设客户端的编码是GB 表单中的中文提交后 首先根据GB 编码转换为字节流 到达服务器端后 如果我们直接在servlet中调用request getParameter(String name)等方法 由于方法返回的是String 对象 所以其中必然隐含了一次从byte到char的转换 错误也就是在这里产生的 如果这次转换采用的编码是iso 得到的当然是乱码 public class Loginextends >
对于Java,由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是:
String s2 = new String(s1getBytes(“ISO-8859-1”),”GBK”);
1、utf8解决JSP中文乱码问题
一般说来在每个页面的开始处,加入:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
requestsetCharacterEncoding("UTF-8");
%>
◆charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”;
◆pageEncoding="UTF-8",为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效;
◆requestsetCharacterEncoding("UTF-8");是对请求进行了中文编码。
有时,这样仍不能解决问题,还需要这样处理一下:
String msg = requestgetParameter("message");
String str=new String(msggetBytes("ISO-8859-1"),"UTF-8");
outprintln(st);
第二次打开Eclipse时,除了导入的项目外,其他原本的项目的JAVA文件中正常中文全部变成乱码了,是设置错误造成的,解决方法如下:
1、首先在软件中,右键出现中文乱码的java项目名,在右键菜单中选择最后一项Properties。
2、点击Properties,在d出窗口选择Resource选项,然后在右侧 *** 作窗口中的第一项选择other选项。
3、在选项右边下拉选择中点选合适的编码格式,如果知道导入项目的使用了什么编码,可以尝试选择utf-8,然后确定Apple and close就可以了。
4、也可以在功能菜单选择》project》然后选择最后一个选项Properties。
5、设置完成后,中文乱码就解决了。
java文件读取的时候有中文就很出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。
如:String str = new String(strgetByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。
备注:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。
以上就是关于Linux下java的Swing/AWT程序乱码解决全部的内容,包括:Linux下java的Swing/AWT程序乱码解决、java程序里出现的乱码、为什么JAVA会产生乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)