不知道你为什么要用PrintWriter来向socket写数据,PrintWriter操作的是char型,而你给它byte型,不错才怪了。
或者
在创建时带上编码类型
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8")),true);
写socket时直接 out.write(str);就可以了
或者
在创建时带上编码类型
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8")),true);
写socket时直接 out.write(str);就可以了
解决方案 »
- 下面代码哪儿错了
- 求帮助:关于java分页查询缓存的设计!急,急,急,急,急
- 积分及礼品兑换需要钱吗
- 用windows身份访问sql2005为什么会出现错误?如何解决?
- ssh 关于jsp:bean 的问题
- 小妹求救,不胜感激!!
- 单实例和对象池讨论
- 论坛设计问题(用struts)
- Mastring EJB2 电子版是PDF格式的,我用词霸不能直接翻译,怎么才能支持鼠标取词?
- 我在实体BEAN中做了一个FINDER方法,写了一个EJBQL为什么老出错
- MessageDrivenBean如何监听另一个台机的消息?
- struts1.2验证框架直接显示{0}{1}而不显示arg0,arg1对应值是怎么回事情
temp = new String((new String(str)).getBytes("gb2321"), //原来的
"utf-8"); //要转换成为的还有什么gbk,iso-XXXXX