评论
1922151
2010-09-15 09:57
可能是post的数据本身没有编码,不是服务端的问题。。
回复 引用 查看
2010-09-15 09:57
编码问题确实是很头疼的问题~
在有些客户端和服务端交互的时候更为明显
回复 引用 查看
2010-09-15 10:04
每看到有唱衰java的,俺就高兴坏了
回复 引用 查看
2010-09-15 10:15
引用轩辕法王:每看到有唱衰java的,俺就高兴坏了
java这种劣质玩意是菜鸟外行近乎迷信的爱,不过离退出历史舞台不远了。
回复 引用 查看
2010-09-15 10:32
。。。。。。。。。。。。。
这就伤透了你的心
....................
回复 引用 查看
2010-09-15 10:35
cai
回复 引用 查看
2010-09-15 10:48
做web开发不用utf-8就是自找麻烦……
回复 引用 查看
2010-09-15 10:50
好像以前看同学做项目用什么gbk编码,java的东西编码处理确实很烂。
回复 引用 查看
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));
}
回复 引用 查看
2010-09-15 11:15
围观不懂java,post页面html page有没有设定编码呢?
回复 引用 查看
2010-09-15 11:36
@sheng.chao
不用java用什么呢?
回复 引用 查看
2010-09-15 13:29
我,一个老程序员会如何解决这个问题 虽然我并不会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 都可以 都没有问题
回复 引用 查看
2010-09-15 13:36
在.net 里,一切都是简单的
回复 引用 查看
2010-09-15 13:39
java折腾啊,所以才值钱啊,会的人少,推荐+1
回复 引用 查看
2010-09-15 13:58
javascript通过文本文档打开 然后另存为*.js
选择你需要的编码方式就可以了 汉字可能被处理为乱码 不用管他
这跟java有什么关系?标题党哥
回复 引用 查看
2010-09-15 14:27
这就伤心了?!
楼主的心是豆腐材质吗?
回复 引用 查看
2010-09-15 14:44
java哥,怎么跑这儿来了呢!
回复 引用 查看
2010-09-15 15:25
1、统一思想,不管是页面,还是数据库均用utf-8;
2、post提交遇到中文乱码问题,一般可用编码过滤器解决(google一下,网上很多)。
3、get提交遇到中文乱码,一般可在tomcat配置文件中设置编码为utf-8。(也可google一下)
另:我目前遇到最顽固的乱码问题是,页面上通过“硬编码”写在链接上的中文,传递到服务器始终是乱码。(当然如果你的链接上的中文来自action,则不会出现)。
鄙视诋毁任何技术的人……
回复 引用 查看
2010-09-15 15:35
java 貌似很难哦
ugg stiefel
回复 引用 查看
2010-09-15 16:36
你估计经常伤心吧
回复 引用 查看
2010-09-15 17:31
没看懂说的是什么问题,网络传输的东西本身就是一串byte,要怎么编码或者解码都是自己可以控制的。
回复 引用 查看
2010-09-15 17:40
@chenkai
更伤人心的都有!!
用java开发程序,先不说语言如何。
但凭java常用的ide,就足够可以把人郁闷到死!!
顺便请教一个问题,用eclipse时,如何打开别人的一个工程?
莫非真的像网上的一样用导入??
回复 引用 查看
2010-09-15 19:56
.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稳定,
操作系统用的人少,漏洞自然就少,早就没市场
回复 引用 查看
2010-09-15 20:22
java servlet
//response.setcontenttype("text/html");
request.setcharacterencoding("utf-8");
response.setcharacterencoding("utf-8");
response.setcontenttype("text/plain");
如果有兴趣,可以参考
fortunebase(asp.net)
fortunej(java)
直接传递数据方式,建议采用base64string
回复 引用 查看
2010-09-15 20:55
这跟java有几毛关系......
回复 引用 查看
2010-09-15 21:11
你自己的问题,跟java无关!先打好基本功吧!
回复 引用 查看
2010-09-15 22:56
java是项目经理的最爱,搞这个的人多,哪儿都是人,跑一个留下的位子几十个人抢,多么可爱的语言阿.....
哈哈
回复 引用 查看
2010-09-15 22:58
引用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 啦。
回复 引用 查看
2010-09-15 23:54
果然是评论头条。
回复 引用 查看
2010-09-16 00:32
oracle 和java 结合 我想必将创造出一个新时代
回复 引用 查看
2010-09-16 01:53
了解她了就她容易了,不了解,他就伤了你的心。一位前辈给我说:“一切事务在不了解他之前,就意味他是对的。对他了解了,再对她进行辩证的分析,再去改正她。”我觉得这才是强者,最近刚认识一个朋友以前经常用postgres数据库,现在和我们一起做东西,使用的oracle数据库,一个小问题不知道怎么整就经常骂oracle,殊不知oracle只所以这么广泛的企业应用,自有它的道理。再说,说出的也不是oracle的欠缺之处(虽然什么都有他的缺点,完美的东西只在空想里有)。
回复 引用 查看
2010-09-16 14:09
js 中 encodeuri .... 不是java的问题,做web的应该会
回复 引用 查看
2010-09-21 13:12
正确的写法是:
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^)/