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

星组游戏论坛

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

QQ登录

只需一步,快速开始

查看: 926|回复: 3

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

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

UID
98177
星币
23
积分
9
阅读权限
90
注册时间
2013-4-11
最后登录
2014-1-16
发表于 2013-6-9 21:32:02 |显示全部楼层
乱码问题一般都是编码方式不匹配的问题,总体解决的办法如下
8 C6 t4 {5 O3 [9 T一、字符串编码的转换
! Q, B" \- Y& A5 b    1、新字符串=new String(旧字符串.getByte("编码1"),"编码2");
4 p6 _$ L. ~- @" w  x    2、编码1为旧字符串的编码方式,编码2为新字符串编码方式
, ~! I* o; d7 A# x: M二、java-Socket接受中文乱码的解决& G+ ^2 m( K1 g
    在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码。" B+ p  d; B* G; g4 ~% I6 _+ t
    当然也可以约定服务器端和客户使用相同的编码。
7 {: H" j' h+ T    1、客户端发送: + K8 X) n& U1 D7 [* U  s& Q
       PrintWriter pw =new PrintWriter(socket.getOutputStream());; x9 S$ v7 n" S9 `5 H
       pw.println("数据");  //这个数据可以转换成指定编码
8 |) [; V3 O0 B6 m% @% K       pw.flush();% u8 g# X1 ]: W- s& m& U
    2、服务器端接收" U: I9 c. o# u9 f0 y7 m8 M# F$ L; C
      BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"编码")); //这个编码要和客户端的编码相同
* k* n: d, X  y( |      br这个流就可以随便用了
$ p& [( p7 ]5 n* t7 i) }. ?3 B/ t    3、也可以这样约定* }' x8 A2 G0 i; l* {
       接收端:in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));% g3 R& t% ^3 V" }/ r
       发送端:out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));  
+ ]2 ~3 y: k# H: K" e三、常用的编码方式
: W9 z6 T3 u$ j& i7 A: l. d8 B    1、UTF-8:汉字3字节,英文字母1字节,特殊字符2字节
5 b" j+ Z/ p+ D: g    2、GBK:汉字2字节,英文和数字1字节
6 q1 H4 ]- B! h$ A    3、unicode:统一连个字节
  B2 s# Z8 Z, V& a    4、iso8859-1:只支持英文,一个字节
- p. x7 t& g6 @3 f( l9 G    更详细的编码介绍参照http://www.cnblogs.com/lxzh/archive/2012/05/30/2526557.html8 L+ r! ?  o7 `4 L3 Y# P+ z9 @

Rank: 4

UID
115225
星币
59
积分
348
阅读权限
40
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-6-12 18:40:54 |显示全部楼层
这么好的帖子不顶就太对不起楼主了' g8 |; E3 v9 e' R0 G

- Q% ]# A# n3 ?* s
" l6 J/ P; D4 _, k2 x6 W0 ^5 B
# t! d* M$ u& I; b6 E
9 v& ^& @% Z( y9 I2 U. T" ?- V3 ]# L" B, p, X; o
' C2 \- r7 t/ R0 G  o; I* H

, @. W- J1 ^0 m" q; H; B9 b6 p" R. ^3 S$ G: L
/ h1 k- F6 E& q1 k1 i
! {7 w; W1 c* }( \: U, O0 I

& W) }( v) g0 I) A& q! ]
* G+ V8 }+ d- X& K/ m% y8 b广西葛根茶 网狼特产 广西网狼葛根茶 网狼葛根茶 广西特产葛根茶

Rank: 4

UID
115225
星币
59
积分
348
阅读权限
40
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-9-27 15:11:58 |显示全部楼层
我也想了解,请大家都说说
* c8 J  A% m( T4 j: r7 e& ]  f: X1 y4 d
; `, ?% A1 U( Z4 q1 n( F
& n$ |- r: M8 E, [5 j
' d4 H# j, X. t

, o! t5 J; ]! Q# U4 c8 e% X+ ]2 F
& q+ Y- H% y. j- x, o7 I, j8 J! h7 A9 G2 S$ I' B

" \# N3 a1 @8 M& Y! f
! o! a/ y. n! i9 \& N3 @/ D/ s* g3 p8 e# x- A7 X
* ]- ~* A% X8 l4 ?. m, x% S: B6 j

  u7 ]  w! k0 t) |" z8 j. |0 A  F0 k9 c葛根茶批发 网狼葛根茶 广西葛根茶 广西葛根茶批发 葛根茶价格

Rank: 4

UID
115225
星币
59
积分
348
阅读权限
40
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-10-21 16:15:48 |显示全部楼层
谢谢楼主!!!!
9 M/ o8 H6 D- z# I  f8 \  o: j

9 d/ w% X. l) l7 h: Z, q; {% I3 ?2 B
! |' ^* @" p: X6 G" w/ D9 L. P: c
' v4 j2 V5 ]9 t) u1 n  C) ]) T: Q
( L3 E; ?; m( H' T" l) S
" F6 C( K  }7 M

3 k$ |1 N- [0 w* X: b# X/ V7 s
& ]' N7 W4 q/ j) m: u
1 j# [8 `- f- x( `6 V6 T1 g# w
/ s! p+ S0 Q% S/ e, w+ P% B2 K# X5 N" \9 a" B
古龙大红八角 古龙八角 大红八角

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

GMT+8, 2018-12-18 00:57

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部