a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 99|回复: 0

[其他] java认证:如何解决JavaEE的乱码问题

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
在Java EE中,乱码问题凡是是一个令人头痛的问题,那若何解决这些问题呢?我们必需年夜问题的根柢入手,以达到快而准的解决问题。本文就Java EE中的乱码做一个小结,以求抛砖引玉。
& l2 U& ?- h7 d& J8 |+ ^$ Z' E; `: ~, {' H& }
首先,我们知道发生乱码的原因是因为分歧的编码造成的,这就好比你和一个印地安人在措辞,假设你完全不懂印第安语,而对方也不懂汉语,那你们所说的话,就会在对方的脑子里发生一个个的问号。那么怎么办呢?凡是的做法,就是找一个翻译,在Java中,对编码也是这样的,来看一个例子。
9 e# h( Y. F; B- r. K, O4 J& y1 U, f' E* j$ F& f
体例一:0 u1 n' x; }, P# ?5 C  G
: R, ?1 U( _% S/ O# V" Z: m
以上是一个对Deom01.html进行措置的JSP页面,其浸染是为了掏出Demo01的Uname值并显示,* ]6 p; D9 s- {; \, E! C6 r* H

5 P% t4 H! U" A! F5 W+ O" n# d输入内容为:??
  @6 F7 d; }; h% i2 T7 c+ Q2 ]0 }1 k; U; z# w8 m' O2 J
当我们在页面Deom01中输入中文并提交好,发现提交后的显示内容为“?”号,这里,就相当于膳缦沔的分歧语种的人措辞一样,发生了“?”号,那么解决的法子,就是经由过程转换来解决这一问题:
) v  e  g% `$ [; M  d! k  B$ I- S0 H7 L( L

( c) c. Q6 z3 i' O. M
( ?0 J! _8 Z. u. \1 X, D以上经由过程将取得的uname值转换为Byte数组,再将Byte数组转换为所需要的名目来进行转换,年夜而解决了乱码问题。
2 W& Z- l3 ?7 z% {7 @4 r: T2 r* D  {7 z# A# m/ G) ]5 ~! X& p8 o
体例二:
8 S: N* x! M( c1 Y% G' V: e% V1 y1 s, g$ k0 V
设置统一的字符编码
( z8 O) N6 K) M! k0 `4 F2 U% z1 \' V# H6 r3 G7 g2 s- d2 @
在API中的Javax.servlet.http包下,有一个HttpServletRequest接口中,有这样一个体例  D1 K, C7 X- e( v' E' Z( f
3 U+ P0 i& S9 P; @& C
public void setCharacterEncoding(String env)3 K7 F# d* S" }0 K2 T

  B. f4 Y' u. K0 q. V" e6 Lthrows UnsupportedEncoding其浸染是设置统一的字符编码- I; p! s( \) n+ B! r1 _4 A" E
, }: [& {! r$ }) V9 M+ T
( }2 _3 H5 z$ V' ^
/ t: l+ ~% r5 m' q3 q! e8 S4 M
更改后运行,发现结不美观和以前的一样。(注:GBK典型围年夜于GB2312 ,GB2312仅指简体中文,而GBK不仅指简体中文,还包含了繁体中文等中文。)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 17:08 , Processed in 0.244330 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表