Myeclipse中接收中文参数乱码

f1555585 2012-07-23 10:41:04

小弟自习java web方面东西,在Myeclipse中将编码都设置为UTF-8,在HTML,JSP页面中 中文显示以及提交都没出现过问题。最近在学习hibernate相关知识中,通过hibernate框架向Mysql中插入数据时 (没用到tomcat),数据库出现乱码,起初以为是数据库问题(我的Mysql数据库编码都是UTF-8,和Myeclipse中一样),后来在程序中 添加了一条输出语句发现,myeclipse在接收中文参数时出现问题:用Scanner类next()方法接收了一个String name;"你好" 输出为--->"浣犲ソ"


import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String name=sc.next();
System.out.println("name为:"+name);
}

}


后来将Test.java文件编码改为GBK 代码中name后的“为”字又变为乱码,不过此时中文接收反而正常了,输入为“你好”输出也为“你好”,难道以后像这种 与Web无关的纯Java文件 中文参数的处理只能改编码为GBK吗?有没有 好的处理方法,求指教
...全文
250 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
iHelios 2012-07-25
  • 打赏
  • 举报
回复
如果你是在windows下,mysql的编码最好设置为gb2312 你试试!
aa7229806 2012-07-25
  • 打赏
  • 举报
回复
数据库出现乱码,和控制台出现乱码完全是两码事!!
用的Mysql数据库吧,连接的时候url后面要加一条设置utf-8的语句。
编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8

java控制台输出本来就是gbk格式的编码。
sdyngg_00 2012-07-25
  • 打赏
  • 举报
回复
我的运行就没事,你看看你的默认编码是什么吧!
cxw3152 2012-07-25
  • 打赏
  • 举报
回复
所有地方的编码方式一样 应该就没什么问题把。。
f1555585 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

1、首先,在先建文件的时候要先确定你的文件是否是utf-8编码,确定之后再开始编码,当你在写完代码之后再看是不是utf-8编码的时候,如果发现不是此编码,在你转的时候以前非utf-8编码会转为乱码,例如中文。
2、不知道你的参数是form提交的还是url传递的。form提交的只要将jsp/html编码转为utf-8,应该是没有问题的,如果是url传递的话,由于url在地址栏的时候在传递的过程中……
[/Quote]


上面实例没有牵连到jsp,html方面,是一个简单的将输入中文字符 显示在屏幕上,可是出现乱码,难道将文件设置为UTF-8,Myeclipse设置为UTF-8不对吗,乱码出现的原因呢?
wenhaoxp1987 2012-07-24
  • 打赏
  • 举报
回复
1、首先,在先建文件的时候要先确定你的文件是否是utf-8编码,确定之后再开始编码,当你在写完代码之后再看是不是utf-8编码的时候,如果发现不是此编码,在你转的时候以前非utf-8编码会转为乱码,例如中文。
2、不知道你的参数是form提交的还是url传递的。form提交的只要将jsp/html编码转为utf-8,应该是没有问题的,如果是url传递的话,由于url在地址栏的时候在传递的过程中会自动转为iso-885(多少来着忘了)编码,所以在传递之前有encode一下,这样就不会再传递过程中自动转码,java中用java.net.URLEncode.encode()方法,js中用encodeURI方法
f1555585 2012-07-24
  • 打赏
  • 举报
回复
求指教。
f1555585 2012-07-23
  • 打赏
  • 举报
回复
我在CMD控制台 运行上述代码是正常的,估计还是编码问题(UTF-8,GBK),求指教

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧