java中文显示(100分)

  • 主题发起人 主题发起人 abchjb
  • 开始时间 开始时间
A

abchjb

Unregistered / Unconfirmed
GUEST, unregistred user!
平台: Turbo Linux 6.0
工具: JDK1.2.2
用AWT组件能勉强显示中文,但用JFC SWING确不行
需要修改 font.property 吗? 如何修改?
 
还没在 linux 下试过呢。
 
要不你在windows下先写好程序
再到linux下编译。
 
java 是用 unicode 编码。你可以用一个你的编译器,将中文写好,拷入编译器,或者用命令行,用纯文本编辑器编辑。
我不用microsoft的东西。它违背了java的宗旨。
 
修改 font.property是java1.x的低版本的问题了,你用的已经是java的1.2版本。问题已经不存在了,你要注意的是你在编译程序的时候注意编码的问题,在编译的时候要用javac -encoding gb2312进行编译就行了!如果还有问题就来找我吧!我处理java的中文问题是已经出头了!
 
我也装了 java1.2 for linux, 但我的根本就不出字,所有的!!!!
不管 Label, button, textarea 都没有,谁知道?
 
补充一句, 是 redhat 6.1
 
各位好:
1. Java文件的编辑不成问题,在Turbo Linux6.0中有若干编辑器可以顺利运行,所以不存在
在Windows下先编辑后编译的问题.
2. 在Windows下先编译成.class文件依然不能显示中文.
3. 用 -encoding GB2312 或者 -encoding GBK 故障依旧.(JSwing不能显示汉字).
4. 对于SuperMMX的不能显示汉字的问题:如果使用Turbo Linux 6.0,在AWT中不能显示汉字
估计是font.property中设置不对. 其它的如Redhat,Bluepoint等本人没有实验过.
 
你这样的话只能采用这种方法了,这是一种比较土的方法,但是我是百试百灵的。
例如你有一个中文的字串,你可对字串做以下的处理!
String s = "中文“;
bytes[] temp = s.getBytes;
然后在将这个数组变成字符串输出到你想要的地方去就行了!
 
to abchjb:
看清楚,呵呵,我的是没有 ***字***, 什么都没有,应该有字的地方
都没有,不管是中文还是英文,
tsinghua 上也有人说是 font.properties 的问题,
我看了一下,看不懂, 更不要说改了,
请详细一点好吗? 解决了有分, 您尽管开口。
 
呵呵,原来是那个 redhat 6.1 自带的 jdk 的问题, 重新找了
一份就好了, 字都出来了, 中文没搞定。
(这是 redhat 的问题)。
 
abchjb:
请继续或结束问题
 
我给你别人的一段,自己将汉字转换过来:
这两天在win98下装apache1.3.9加jserv和gnujsp1.0,jdk1.2.2,jsdk2.0
发现中文无法正常显示。要么乱码,要么出错。
经网友提醒,总结了以下几条方法。
1:修改区域设置:在控制面版中选择区域设置,设为英语(美国)
然后重起。一切就都正常。
2:在jsp页中加入一条语句:
<%@ page contentType="text/html;charset=gb2312" %>
Jsp显示就正常了。
3:在编译servlet和jsp时加入代码选项。编译servlet使用
javac -encoding iso8859_1 myservlet.java
在jsp的zone配置文件中.修改编译参数为:
compiler=builtin-javac -encoding ISO8859_1
使用这种方法后,不需要作其他的改动就可以正常显示中文了。
只是看前面网友的文章在编译servlet时都用GBK码,我试了很多
次都不行。而且使用ISO8859_1在原理上难以理解。烦请那位网友给讲讲。
4:最土的办法,在servlet源程序中加入代码变换语句。如
try{
out.println(new ( (new String("我爱死你了")).getBytes("GBK"),"ISO8859_1"))
}
catch( UnsupportedEncodingException e)
{
.......
}
使用这种方法一定要注意捕获UnsupportedEncodingException这个异常。
 
多人接受答案了。
 
后退
顶部