设为首页收藏本站
机战Z2破界篇 星组汉化 下载

星组游戏论坛

 找回密码
 注册(QQ注册+邀请注册)

QQ登录

只需一步,快速开始

查看: 997|回复: 3

[心得] 关于java乱码的总结 [复制链接]

Rank: 11Rank: 11Rank: 11Rank: 11

UID
98177
星币
23
积分
9
阅读权限
90
注册时间
2013-4-11
最后登录
2014-1-16
发表于 2013-6-9 21:32:02 |显示全部楼层
乱码问题一般都是编码方式不匹配的问题,总体解决的办法如下' q) v1 V- j: X4 g  Z
一、字符串编码的转换
7 R* x$ M( @% Q    1、新字符串=new String(旧字符串.getByte("编码1"),"编码2");
+ x/ N# _9 `* e! g, @/ h! y    2、编码1为旧字符串的编码方式,编码2为新字符串编码方式
* g! W5 B& e3 B$ V: I  z, B二、java-Socket接受中文乱码的解决$ L4 r8 T8 B  \
    在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码。
- O! h$ w3 f/ }) A8 x) S3 B    当然也可以约定服务器端和客户使用相同的编码。
& q; z' |) c( `+ ?# {    1、客户端发送:
7 y0 p8 c' x  B  c+ ]: P       PrintWriter pw =new PrintWriter(socket.getOutputStream());. f) V8 G/ G8 @" [6 @- ?8 Z) v
       pw.println("数据");  //这个数据可以转换成指定编码   t& D* n/ |" n
       pw.flush();
& }) N) m. N/ M8 H# ^    2、服务器端接收
3 p4 l; R- ?! a* o      BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"编码")); //这个编码要和客户端的编码相同: R2 `( g0 S6 U3 ]; ?
      br这个流就可以随便用了
( I7 k# O5 E7 H+ h" d    3、也可以这样约定. Y3 s1 [6 e0 T, |) p% d  X3 q+ n
       接收端:in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
- `& e( P& k2 W$ g. Z( [       发送端:out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));  
4 n8 h& I* h3 X; O% v+ f三、常用的编码方式$ K2 ?+ ]  ]* @2 l. Q$ ]
    1、UTF-8:汉字3字节,英文字母1字节,特殊字符2字节
8 I. a6 j6 ?/ b7 I    2、GBK:汉字2字节,英文和数字1字节
, m- |( q2 p) e7 E    3、unicode:统一连个字节: V$ P, P' N5 R( T/ b; h# O
    4、iso8859-1:只支持英文,一个字节* O5 J0 K( d8 [5 Q. g7 O  }2 s5 a
    更详细的编码介绍参照http://www.cnblogs.com/lxzh/archive/2012/05/30/2526557.html
' d3 w$ g" p0 Z1 D+ R

Rank: 4

UID
115225
星币
59
积分
348
阅读权限
40
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-6-12 18:40:54 |显示全部楼层
这么好的帖子不顶就太对不起楼主了4 `7 f6 f8 X+ ^) f& K) b
) v7 f, I3 s, h
, o2 x5 I1 |  }% C
- X. F  j) m9 `
3 {3 [* d) r: A; h/ x2 }5 m

# T& _. g% A, I
9 E  M1 T; L4 O2 S7 J& M5 E/ r
6 l) r  [/ n. B% U1 E) C3 M0 A4 P6 {. i8 Y  m# Q9 U4 B1 A
2 O0 d& I4 k1 [, k
) L$ ~) e- W" |  e
  k' c  C5 k7 t, N  K2 ?8 P
: J& o( ], T3 T( |/ L
广西葛根茶 网狼特产 广西网狼葛根茶 网狼葛根茶 广西特产葛根茶

Rank: 4

UID
115225
星币
59
积分
348
阅读权限
40
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-9-27 15:11:58 |显示全部楼层
我也想了解,请大家都说说
, S) F+ L. p3 T7 z
, X# s; J  }+ q8 t3 c1 q& e2 T, a  c& B

- F. L1 H+ C% f3 _. F& M3 }/ L" R# `. r1 m# E

: o: a  I3 s" K5 i$ u, |# B7 y# H0 @5 l$ ~/ f( R, r. y5 A+ h
- L# k' S8 x2 o( l" l
' q  L1 a5 O9 u+ R0 K

# F; }  r1 s4 X
: D1 W9 f& _+ U3 m9 m* ?3 t
. G6 n0 O1 i+ ^1 X  f* D
8 S2 g1 W+ l, R; m8 C葛根茶批发 网狼葛根茶 广西葛根茶 广西葛根茶批发 葛根茶价格

Rank: 4

UID
115225
星币
59
积分
348
阅读权限
40
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-10-21 16:15:48 |显示全部楼层
谢谢楼主!!!!
$ S1 O# `) F% p- M  n/ @/ k4 A
7 `$ D  K/ L- i) r! B" h; W/ Y6 n: }1 N7 z' I4 K) e) M# _
( h1 W0 J5 w" N6 l9 E. u% ?

0 K4 t& \" O9 f1 q" M. C% H& q8 Z, _% K( \3 a0 Q
8 q4 B% a, Y4 C4 |' v
0 B% G' S3 a# h/ A8 {' D  t' q

& b  g' M0 _1 z2 U, A1 O9 r, X' \6 G% _2 g) I

% B. ]* ~. M% K) m5 h. D8 v, d+ A1 {* s6 i5 B, q! S
# y# n& N( Q( a0 S; `$ Y0 w
古龙大红八角 古龙八角 大红八角

Archiver|星组游戏论坛 ( 京公网安备110403080002 )  

GMT+8, 2019-5-23 13:01

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部