Chinaunix

标题: linux 用 JAVA开发的奇怪问题 [打印本页]

作者: kof1688    时间: 2007-03-13 17:08
标题: linux 用 JAVA开发的奇怪问题
在windows下编译运行完全没有中文的问题
但换成linux编译运行就出现中文乱码问题 环境RHEL 4 ud4
用ant 创建hibernate对象的时候总是出现中文乱码 而mysql测试过没有中文的问题都是UTF-8。
----------------------------------------
        private void createTestInfo()
        {
               
                Session session = HibernateUtil.currentSession();
                Transaction tx = session.beginTransaction();
                //..Add User
                UserRoot administrator = new UserRoot("administrator", "111111", 1);  //系统管理员
                session.save(administrator);
                UserRoot worker01 = new UserRoot("lilili", "lilili", 2);  //普通员工

                session.save(worker01);

                UserRoot worker02 = new UserRoot("worker03", "111111", 3);  //普通员工

                session.save(worker02);

                //..Add CarSize

                CarSize size1 = new CarSize("C1","03");
                session.save(size1);

                CarSize size2 = new CarSize("C2","03");
                session.save(size2);

                CarSize size3 = new CarSize("C3","03");
                session.save(size3);

                //..Add StartAddress
                StartAddress startAddress1 = new StartAddress("地址1","03");
                System.out.println("地址1");
                session.save(startAddress1);

                try
                {
                        String str1 =new String("这是一个对中文支持的测试".getBytes("UTF-8"));
                        System.out.println(str1);
                }
                catch(Exception e)
                {
                        System.out.println("aa");
                }
               
               
                StartAddress startAddress2 = new StartAddress("地址2","03");
                session.save(startAddress2);



                tx.commit();
                HibernateUtil.closeSession();

                String encoding = System.getProperty("file.encoding");
                System.out.println(encoding);
                System.out.println("你好");

               
        }
--------------------------------------------------
编译运行出现乱码的信息是,入数据更不用说了
     [java] 信息: exporting generated schema to database
     [java] 2007-3-13 16:50:10 org.hibernate.tool.hbm2ddl.SchemaExport execute
     [java] 信息: schema export complete
     [java]
作者: tong0245    时间: 2007-03-13 17:11
去看看相关linux jdk字体的配置吧
到相关linux论坛去搜索
答案大把 我从来都不记得
作者: kof1688    时间: 2007-03-13 17:18
OK我去找找看看~
作者: kof1688    时间: 2007-03-13 17:20
但是奇怪的是写的普通java类,中文输出没有问题的呢~!
作者: peream    时间: 2007-03-13 19:07

  1. <javac destdir="${build.dir}" debug="true" debuglevel="lines,source" encoding="utf-8">
  2.                         <src path="${src.dir}" />
  3.                         <src path="${test.dir}" />
  4.                         <classpath refid="master-classpath" />
  5.                 </javac>
复制代码

在ant 文件的编译部分加上encoding看看.
作者: kof1688    时间: 2007-03-13 19:41
ant 加了还是出一样的错~
作者: kof1688    时间: 2007-03-13 23:41
终于找出问题的原因了,原来自己转来转去是文本字符集有问题~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2