a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 123|回复: 0

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

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
在Java EE中,乱码问题凡是是一个令人头痛的问题,那若何解决这些问题呢?我们必需年夜问题的根柢入手,以达到快而准的解决问题。本文就Java EE中的乱码做一个小结,以求抛砖引玉。9 d. x: U7 H6 P1 r5 {

  [8 |" e  T6 B首先,我们知道发生乱码的原因是因为分歧的编码造成的,这就好比你和一个印地安人在措辞,假设你完全不懂印第安语,而对方也不懂汉语,那你们所说的话,就会在对方的脑子里发生一个个的问号。那么怎么办呢?凡是的做法,就是找一个翻译,在Java中,对编码也是这样的,来看一个例子。
: M* T6 n$ X4 |/ B" d. M; y. }6 e0 ~- S
体例一:
  z/ B9 V/ H) @; L+ ~3 x% ]0 T$ d" e1 i. W% I
以上是一个对Deom01.html进行措置的JSP页面,其浸染是为了掏出Demo01的Uname值并显示,
& i- v4 _% M! W( m. r6 e+ i+ n: G" ^$ Z7 _7 z
输入内容为:??. E5 l) w" E- `3 j$ B7 T6 U/ b* o

8 I! B1 I- R: c* b当我们在页面Deom01中输入中文并提交好,发现提交后的显示内容为“?”号,这里,就相当于膳缦沔的分歧语种的人措辞一样,发生了“?”号,那么解决的法子,就是经由过程转换来解决这一问题:
2 D( z1 Z9 C) {8 \: z% m6 V. `. W0 ~& d$ ~; a3 q( ]

& X) R. N6 u9 g% e! c7 f: j5 P" z) e1 ~+ d& u$ d+ Q9 y
以上经由过程将取得的uname值转换为Byte数组,再将Byte数组转换为所需要的名目来进行转换,年夜而解决了乱码问题。( q7 K1 }4 H* P+ F( d" P1 f
+ v" @1 q- w" O" n3 L
体例二:
5 y% n0 P+ v9 I( ^1 s( m( A6 o7 ^, ~/ ^) d2 z2 z" c
设置统一的字符编码
! f( a- A/ S/ N* P4 h) I# z4 v
: U+ o# h# `* F4 ?- G9 h: w8 d在API中的Javax.servlet.http包下,有一个HttpServletRequest接口中,有这样一个体例
, A0 o3 v' d. L4 t9 }4 }' f7 H7 G& l. Z% `+ n4 B" T% K
public void setCharacterEncoding(String env)
! |  P/ h) V1 i
$ ^& i# J" C  m) cthrows UnsupportedEncoding其浸染是设置统一的字符编码5 z5 i$ S0 j4 T
, b. ^! b6 a7 K
$ g7 }4 t; q! ~8 g: T) ]( g6 Z- K
3 i  W6 c2 W/ H
更改后运行,发现结不美观和以前的一样。(注:GBK典型围年夜于GB2312 ,GB2312仅指简体中文,而GBK不仅指简体中文,还包含了繁体中文等中文。)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 21:16 , Processed in 0.209055 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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