1、在插入到数据库中的中文问题要转换成编码 . o; |, y y: R% w2 o
我爱电脑技术论坛8 O& c* W' q- w3 I( i3 u& N: h
3 @# R" w9 b% w: p2、从数据库中读到中文又要转换成编码 打造最好的电脑自学交流论坛9 o4 n- H, }8 M }. }6 _9 ]
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站 C* Q+ t; t+ ]3 z' I0 J
9 O/ `8 w+ m [8 z& h# _! d让我们看一个编码的JAVA代码:
0 f: D: d0 o, G' {www.520diannao.com电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站5 W" ?9 }0 Q5 @/ P, e# v5 R$ F) N1 Y; N/ ^
1 m4 V. Z) J4 L+ z! Cwww.520diannao.com打造最好的电脑自学交流论坛+ `+ t. b5 [$ r
//ECov.java 我爱电脑技术论坛; X- T& u: Q( w8 k
6 Q" O9 g# s( h7 `& R4 d: O' x% Kwww.520diannao.com import java.io.UnsupportedEncodingException;
5 T, u4 d# U9 o( [
! X3 ?9 o$ U2 v+ C( x. Q1 Fwww.520diannao.com public class ECov
& n' |, y& E8 `2 p, ]) ^+ F打造最好的电脑自学交流论坛我爱电脑技术社区--打造最好的电脑技术自学交流平台- f# U9 f4 m6 C. E8 _/ ]
{ 打造最好的电脑自学交流论坛; h& R% F1 D ?+ t
5 V; d, r7 L# ]% h- T
public static String asc2gb(String asc){ 我爱电脑技术社区--打造最好的电脑技术自学交流平台" Y2 d% n9 Q) J, Q5 p( X# g- `
2 @8 y: t1 F2 R4 U M
String ret;
* u" [. z7 A' L X4 i, awww.520diannao.com
& D" x8 X4 `4 ]- O) P1 J8 G if(asc==null)return asc; 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站3 C; U K; p9 v$ S0 r- m; G
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站$ e) m4 `5 m* ^* C
try{
: r' P, [5 _3 ` `3 K$ n
9 E. }2 E7 W2 W. |) D, U" Q3 Y. G电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站 ret=new String(asc.getBytes("ISO8859_1"),"GB2312");
' w( p9 z( p Z1 C电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站& _$ J# W6 c) r- P, o! D6 E# @
} 8 u8 i9 X- l: f, N
1 H1 ^/ d/ ~# \4 X! G3 q' r电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站 catch(UnsupportedEncodingException e){
& G" X$ S+ m/ l$ @, Z
) C- z6 c' k) V. n( y$ M4 g6 x& _电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站 ret=asc; 打造最好的电脑自学交流论坛; j. z* ]" {. u8 Y \& r; J
6 ]9 O2 r% I9 X) z- K% l我爱电脑技术社区--打造最好的电脑技术自学交流平台 }
% {! j: K# Q; U. H4 n$ {www.520diannao.com
; ~' b$ [ S0 m f我爱电脑技术论坛 return ret;
1 {: D e# a# R& h$ iwww.520diannao.com
. u" L, w. l, }! p, C# ywww.520diannao.com } ) Z; b5 }2 z% X4 i
$ d- p: ]% }- W7 \3 S1 y# v public static String gb2asc(String gb){
0 ~4 U7 K5 _+ x5 j+ N; ~" }( h. c打造最好的电脑自学交流论坛我爱电脑技术社区--打造最好的电脑技术自学交流平台; y1 v9 I) P8 {" P w+ {% w# P, h
String ret; www.520diannao.com* Z7 z; w1 z8 m: Q3 j) [
: G% x4 _3 C& c+ U; e( K0 [; t0 A我爱电脑技术论坛 if(gb==null)return gb; 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站 M( w: B/ {3 A" |# h
1 U" M W, R" `. y( }( q4 q5 y- u
try{ 我爱电脑技术社区--打造最好的电脑技术自学交流平台$ H0 n2 ?& l3 c
7 v$ [: T3 Q0 \& g) d
ret=new String(gb.getBytes("GB2312"),"ISO8859_1");
6 Y$ l e R0 e1 E) S打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛$ M+ Q+ W4 X, W. O. E
}
2 Q* D L [& S; k: ?打造最好的电脑自学交流论坛www.520diannao.com- g$ Z3 h- ?! h
catch(UnsupportedEncodingException e){
2 _1 f. @ W- d电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
; f* A- f6 t' j4 j5 o我爱电脑技术论坛 ret=gb;
! q8 o5 C( ^. v" N% y- owww.520diannao.com我爱电脑技术论坛1 a* {3 W# g; r9 q O6 q
}
2 @. N2 u* e6 ^, J& m. a1 T% C; T: u打造最好的电脑自学交流论坛
+ g4 s$ h5 D/ W我爱电脑技术论坛 return ret;
6 s) l5 ~" M" }4 C( p) Mwww.520diannao.comwww.520diannao.com: _$ i" o4 E, Y' A: u* D
} & A8 k S# [3 R
2 n. a; \7 M/ m
public static int byte2int(byte b){ www.520diannao.com. W+ x! A1 U" a7 ~9 P J- L/ e
我爱电脑技术论坛9 x/ u2 J {* T, A+ k2 `/ ]% O7 M
return ((-1)>>>24)&b;
7 u3 C% s3 F0 z" L/ V0 U
: b# U1 a; W+ C) y9 }4 k- D9 @我爱电脑技术论坛 } 我爱电脑技术论坛( a# B8 D) [ f0 `; |' J
/ F7 ]1 w9 _" I9 Q: n$ ~7 i我爱电脑技术论坛 }www.520diannao.com1 [8 j3 R0 V7 y% o9 Y% n
* @: ^. W: S1 j/ V' F5 p我爱电脑技术社区--打造最好的电脑技术自学交流平台 w& v# F& v' O2 n
我爱电脑技术社区--打造最好的电脑技术自学交流平台- m6 Y- X7 Q) A7 J& D4 s
其实这段代码的意思也就是把两种方法合而为一了。
; k- z' S- e8 O电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
9 p! K* v ]7 @9 h, X我爱电脑技术论坛我爱电脑技术论坛4 Q [. r9 ~0 T) s; C
在进行数据库插入时要用ECov.gb2asc(arg),要在读时要用ECov.asc2gb(arg)。其中最关键的一点就是Oracle好像只认识ISO8859_1这种格式的编码吧(仅是我的想法)。
: @! K1 d$ ~! H# H5 L$ ]; N& M! N我爱电脑技术论坛打造最好的电脑自学交流论坛3 n( {) j! G* ]+ g
我爱电脑技术论坛' D! t9 I1 S9 @* i& |
三、一些小细节
' ?' s3 j0 f4 S( t我爱电脑技术论坛
7 Q7 c2 B% E, q( H5 z# U' S+ H! Nwww.520diannao.com我爱电脑技术社区--打造最好的电脑技术自学交流平台/ R- x, t9 h7 D4 D5 ^
1、就是setAutoCommit(true or false),就是我们在sqlPlus中常用commit()的功能,如果是用true,就不要用commit(),否则还是用commit()方法的。 我爱电脑技术社区--打造最好的电脑技术自学交流平台% V1 j/ S; t1 Q2 Q- `
N, j7 ]& U, {% }5 u2 t打造最好的电脑自学交流论坛
; |3 \' h* {* r4 P+ P) Y打造最好的电脑自学交流论坛2、对日期类型的处理,其实他并不是想象中setDate(),getDate()那么简单的,中间有很大的漏洞。大家自己多调试就会觉得有很多的乐趣的。 # O: j+ p& W( j9 H& H5 k2 S' w
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站; G7 _, D7 B, W/ y, R& q( \# ?
打造最好的电脑自学交流论坛- `5 l6 E8 x% X( a- i; e; j* q; s
3、在和数据库中最好是采用连接池技术,用标准的J2EE的环境,用简单的JNDI技术,是很好的一种方法的。