JAVA网站制作之JDK1.2关于JDBC中文成绩的办理计划
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。办理|成绩|中文发信人:hht(Duke),信区:Java标题:JDK1.2关于JDBC中文成绩的办理计划&Reyzhang
发信站:网易假造社区(MonJan1113:29:431999),转信
忙了几天,终究对JDK1.2的JDBC中文成绩有了开端的懂得,固然另有成绩存在,但我
想人人大概都发急了吧?:)以是就把我的开端设法先贴出来,接待人人增补.
JDK1.2的中文成绩次要是因为引进了Unicode引发的(实在在1.1版本中就有了),U
nicode的字符由16bit组成,关于Unicode更具体的信息有乐趣者能够到www.unico
de.org查阅,在1.0版本中,一其中文是由两个char(8bit)构成的,而1.1以上版本中
是由一个char(16bit)构成的.这一点人人能够用System.out.println(s.length(
))语句来证明,个中s为中笔墨串.
如今来讲说办理举措,起首声明这些了局只是在我的情况里测试经由过程,假如在列位
的情况里有成绩,请务必告诉.
我的情况是JDK1.2+Win95+SybaseJDBCDriver(PowerJ2.5附带)+OracleJDBCD
river(Oracle8.0.3附带).
我的第一个别会是用JDBC-ODBC桥接会见数据库中文输出有成绩,我还没办理,我用
的JDBCODBCDriver是JDK1.2自带的.
第二个别会是用JDBC间接联数据库,这时候大概有两种情形:
1,中文输出没成绩(Oracle8),便可以在SQL语句中间接写中文,如:
statement.executeUpdate("inserintotablenamevalues("测试",....)
2,中文输出有成绩(Sybase11),看毛病可知是Unicode转换引发的,办理举措是将U
nicode转换为ASCII情势,即一个汉字拆成两个char,用到两个类ByteToCharConve
rter和CharToByteConverter,在sun.io.*中,能够在JDKhomejrelibi18n.jar
中找到,没有文档,我也其实网上找到用法的.
在输出时,用ChineseStringToAscii转换为ASCII码字串,查询时用AsciiToChines
eString转换为Unicode字串.源代码以下:
publicstaticStringAsciiToChineseString(Strings){
char[]orig=s.toCharArray();
byte[]dest=newbyte;
for(inti=0;i<orig.length;i++)
dest=(byte)(orig&0xFF);
try{
ByteToCharConvertertoChar=ByteToCharConverter.getConverter("g
b2312");
returnnewString(toChar.convertAll(dest));
}
catch(Exceptione){
System.out.println(e);
returns;
}
}
publicstaticStringChineseStringToAscii(Strings){
try{
CharToByteConvertertoByte=CharToByteConverter.getConverter("g
b2312");
byte[]orig=toByte.convertAll(s.toCharArray());
char[]dest=newchar;
for(inti=0;i<orig.length;i++)
dest=(char)(orig&0xFF);
returnnewString(dest);
}
catch(Exceptione){
System.out.println(e);
returns;
}
}
主程序片段以下:
try{
Statementstmt;
Class.forName("com.sybase.jdbc.SybDriver");
Connectionconn=DriverManager.getConnection("jdbc:sybase:Tds:202.9
7.228.249:5000/todo","sa","");
stmt=conn.createStatement();
Strings="何海涛";
s=ChineseStringToAscii(s);
stmt.executeUpdate("insertintorussiavalues("+s+",1,1,"+s+
")");
}catch(Exceptione){
System.out.println(e);
}
在读数据时用Strings=AsciiToChineseString(rs.getString(1))
--------------------
由于手头只能对这两种数据库举行测试,以是对其余数据库大概呈现的情形不克不及保
证.不外我估量基础是下面这两种情形.别的,用JDK1.2有的公司供应的Driver也升
级了,好比Sybase本来的Driver就欠好使.道理就是如许,在实践操纵中要靠本人摸
索了.下面两个办法参考了台湾某BBS的一篇文章.
别的,yzhang不知你要的是甚么版本,你能够在jconnect软件安装的目次下找JDBC
Driver包,大概的格局是zip或jar,把他拷出来就好了.我的就是从PowerJ中拷出
来的
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种使网页(Web Page)产生生动活泼画面的语言 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
页:
[1]