JAVA 伤透了我的心

评论

1922151

#1楼

2010-09-15 09:57

假正经哥哥

可能是post的数据本身没有编码,不是服务端的问题。。

回复 引用 查看

#2楼

2010-09-15 09:57

leeolevis

编码问题确实是很头疼的问题~

在有些客户端和服务端交互的时候更为明显

回复 引用 查看

#3楼

2010-09-15 10:04

轩辕法王

每看到有唱衰java的,俺就高兴坏了

回复 引用 查看

#4楼

2010-09-15 10:15

sheng.chao

引用轩辕法王:每看到有唱衰java的,俺就高兴坏了

java这种劣质玩意是菜鸟外行近乎迷信的爱,不过离退出历史舞台不远了。

回复 引用 查看

#5楼

2010-09-15 10:32

chenkai

。。。。。。。。。。。。。

这就伤透了你的心

....................

回复 引用 查看

#6楼

2010-09-15 10:35

longware

cai

回复 引用 查看

#7楼

2010-09-15 10:48

jeffrey zhao

做web开发不用utf-8就是自找麻烦……

回复 引用 查看

#8楼

2010-09-15 10:50

kiler

好像以前看同学做项目用什么gbk编码,java的东西编码处理确实很烂。

回复 引用 查看

#9楼

2010-09-15 11:06

海华

js 是 utf16 编码吧。js中要把utf8转换成utf16才能正常显示。

补上我写的base64编码的js代码,主要思路:

function encode(cleartext) {

return ch2.base64.encode(ch2.base64.utf16to8(cleartext));

}

function decode(ciphertext) {

return ch2.base64.utf8to16(ch2.base64.decode(ciphertext));

}

回复 引用 查看

#10楼

2010-09-15 11:15

沉默的糕点

围观不懂java,post页面html page有没有设定编码呢?

回复 引用 查看

#11楼

2010-09-15 11:36

cheney shue

@sheng.chao

不用java用什么呢?

回复 引用 查看

#12楼

2010-09-15 13:29

msnweb

我,一个老程序员会如何解决这个问题 虽然我并不会java

1确定测试代码的字符

比如 我们将提交 ’你好‘

utf-8e4 bd a0 e5 a5 bd

gb2312 c4 e3 ba c3

这个可以用写字板生成,用16进制编译器获得。

2 在提交前将提交的字符串 以16进制打印

确定提交的 字符串是什么形式 是什么编码 是否是需要的格式

如果不能得到自己想要的结果 利用转码工具进行转码.

3 发送数据 上wireshake 这样的软件进行再次监控

检查发送数据是否符合要求。 post 的话,数据会做一次urlencode 操作,但是字符串的内容还是很好检查的, 就是%e4%bd 这样的格式,所以仍然可以检查出问题,到底问题出在哪里。确保发送了自己想发送的数据

4如果一切按照设计来的,结果仍然不对,那就是对方的编码问题了。

然后你可以告诉对方,你们错了。一切检查大家协议是不是一致的。

而不是现在这样乱撞。更不是什么java 伤透了心。无论对方是什么java php c++ python 都可以 都没有问题

回复 引用 查看

#13楼

2010-09-15 13:36

cocos

在.net 里,一切都是简单的

回复 引用 查看

#14楼

2010-09-15 13:39

吉日嘎拉 不仅权限管理

java折腾啊,所以才值钱啊,会的人少,推荐+1

回复 引用 查看

#15楼

2010-09-15 13:58

喵 喵

javascript通过文本文档打开 然后另存为*.js

选择你需要的编码方式就可以了 汉字可能被处理为乱码 不用管他

这跟java有什么关系?标题党哥

回复 引用 查看

#16楼

2010-09-15 14:27

邀月

这就伤心了?!

楼主的心是豆腐材质吗?

回复 引用 查看

#17楼

2010-09-15 14:44

小严

java哥,怎么跑这儿来了呢!

回复 引用 查看

#18楼

2010-09-15 15:25

redsoft

1、统一思想,不管是页面,还是数据库均用utf-8;

2、post提交遇到中文乱码问题,一般可用编码过滤器解决(google一下,网上很多)。

3、get提交遇到中文乱码,一般可在tomcat配置文件中设置编码为utf-8。(也可google一下)

另:我目前遇到最顽固的乱码问题是,页面上通过“硬编码”写在链接上的中文,传递到服务器始终是乱码。(当然如果你的链接上的中文来自action,则不会出现)。

鄙视诋毁任何技术的人……

回复 引用 查看

#19楼

2010-09-15 15:35

fenglingling

java 貌似很难哦

ugg stiefel

ugg stiefel

回复 引用 查看

#20楼

2010-09-15 16:36

希望的田野

你估计经常伤心吧

回复 引用 查看

#21楼

2010-09-15 17:31

fantasysoft

没看懂说的是什么问题,网络传输的东西本身就是一串byte,要怎么编码或者解码都是自己可以控制的。

回复 引用 查看

#22楼

2010-09-15 17:40

szyicol

@chenkai

更伤人心的都有!!

用java开发程序,先不说语言如何。

但凭java常用的ide,就足够可以把人郁闷到死!!

顺便请教一个问题,用eclipse时,如何打开别人的一个工程?

莫非真的像网上的一样用导入??

回复 引用 查看

#23楼

2010-09-15 19:56

nick.lee

.net端

var data = encoding.utf8.getbytes(pars);

stream newstream = request.getrequeststream();

// send the data.

newstream.write(data, 0, data.length);

newstream.close();

java端

//这里jdom,自己可以其他处理

saxsb=new saxbuilder();

//document doc = saxsb.build(request.getinputstream());

bufferedreader reader = new bufferedreader

(

//.net,java通用,关键在这里,最好什么编码都不用

new inputstreamreader(request.getinputstream())

);

document doc = saxsb.build(reader);

//关闭数据读取

if(reader!=null)

{

reader.close();

reader=null;

}

java无论从语法,性能比较都很烂,

要不是linux,unix比windows server稳定,

操作系统用的人少,漏洞自然就少,早就没市场

回复 引用 查看

#24楼

2010-09-15 20:22

nick.lee

java servlet

//response.setcontenttype("text/html");

request.setcharacterencoding("utf-8");

response.setcharacterencoding("utf-8");

response.setcontenttype("text/plain");

如果有兴趣,可以参考

fortunebase(asp.net)

fortunej(java)

直接传递数据方式,建议采用base64string

回复 引用 查看

#25楼

2010-09-15 20:55

winter-cn

这跟java有几毛关系......

回复 引用 查看

#26楼

2010-09-15 21:11

ilovedotnet

你自己的问题,跟java无关!先打好基本功吧!

回复 引用 查看

#27楼

2010-09-15 22:56

亚历山大同志

java是项目经理的最爱,搞这个的人多,哪儿都是人,跑一个留下的位子几十个人抢,多么可爱的语言阿.....

哈哈

回复 引用 查看

#28楼

2010-09-15 22:58

hacker-ttao

引用nick.lee:

java servlet

//response.setcontenttype("text/html");

request.setcharacterencoding("utf-8");

response.setcharacterencoding("utf-8");

response.setcontenttype("text/plain");

如果有兴趣,可以参考

fortunebase(asp.net)

fortunej(java)

直接传递数据方式,建议采用base64string

这样就可以搞定了。。 一般 java web 都用utf-8 否则,你会死的很难堪!!! 现以转行 .net。 放弃 java 啦。

回复 引用 查看

#29楼

2010-09-15 23:54

j.motto

果然是评论头条。

回复 引用 查看

#30楼

2010-09-16 00:32

满晨晨

oracle 和java 结合 我想必将创造出一个新时代

回复 引用 查看

#31楼

2010-09-16 01:53

茄子_2008

了解她了就她容易了,不了解,他就伤了你的心。一位前辈给我说:“一切事务在不了解他之前,就意味他是对的。对他了解了,再对她进行辩证的分析,再去改正她。”我觉得这才是强者,最近刚认识一个朋友以前经常用postgres数据库,现在和我们一起做东西,使用的oracle数据库,一个小问题不知道怎么整就经常骂oracle,殊不知oracle只所以这么广泛的企业应用,自有它的道理。再说,说出的也不是oracle的欠缺之处(虽然什么都有他的缺点,完美的东西只在空想里有)。

回复 引用 查看

#32楼

2010-09-16 14:09

jifsu

js 中 encodeuri .... 不是java的问题,做web的应该会

回复 引用 查看

#33楼

2010-09-21 13:12

ymmt

正确的写法是:

1.get方式提交

string username = new string(request.getparameter("username").getbytes("iso8859-1"), "gbk");

2.post方式提交

request.setcharacterencoding("gbk");

response.setcontenttype("text/html;charset=gbk");

以上gbk换成gb2312或utf-8应该也是可以的.

回复 引用 查看


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值