java string乱码问题
发布网友
发布时间:2022-04-23 13:49
我来回答
共3个回答
热心网友
时间:2023-07-12 11:34
看了你的描述:
转换后成 '[C@1b8ee96'
这个不是乱码,是Java的hashCode值,即对象的内存地址,产生原因是:
String sql1= " '"+id+"'"; 做字符串拼接时,id是一个对象
java在做字符串拼接时,会调用toString方法,而toString默认返回的是hashcode
id的是个数组,什么类型的,包括String sql= " '"+id+"'"; 你想拼成一个怎样的sql语句
int [] a = {1,2,3,4};
System.out.println(Arrays.toString(a)); // 数组变字符串
供你参考,因为要拼sql需要额外处理
String ss = "3703731197270270";
char[] id = ss.toCharArray();
String idStr = Arrays.toString(id);
idStr = idStr.substring(1).substring(0, idStr.length() - 2);
String sql = " '" + idStr + "'";
System.out.println(sql);
String sql1 = "insert into weibo value ('" +sql +"')"
System.out.println(sql1);
看看合不合适
热心网友
时间:2023-07-12 11:35
选择GBK或者UTF-8,试一试
希望采纳!
追问还是那样。。
我准备用mysql,
语句String sql1= " '"+id+"'";
id原来是
3703731197270270
转换后成 '[C@1b8ee96',
刚刚有大神说是变成了object类型,不知道怎么解决,数据库也是乱码
追答编写java web的程序,不可避免都要处理编码问题,最常见的问题就是中文乱码
大概的思路就是重新编码为gbk或者gb2312,分两种情况
一是get和post形式
二是AJax 形式
第一种:GET和POST,取决于你的页面编码,如果你的页面编码为iso8859_1
使用:String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "GBK");
或者 String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "GB2312");
但是,这里要注意,必须保证你的页面编码也是iso8859_1的,因为,上面的代码的意思是先将你的字符串变为iso8859_1字节流,
然后再转化为GBK编码,如果你页面传过来的编码是utf-8,那么按照上面的方法就会出现:???乱码
你页面是utf-8的,就要使用如下编码:
String str= new String(req.getParameter("str").toString().getBytes("utf-8"), "GBK");
或者 String str= new String(req.getParameter("str").toString().getBytes("utf-8"), "GB2312");
总之get post 原则很简单,页面什么编码就转化什么字节流转化编码
热心网友
时间:2023-07-12 11:35
把sql执行的地方都贴出来看看啊,,你这句话想做什么功能呀追问char[] id=new char[64];
id=ss.toCharArray();
String sql= " '"+id+"'";
String sql = "insert into weibo value ('" +id+"')";
id输出是3703731197270270
sql输出是[C@1b8ee96
追答id是动态的字符数组,你把它插到weibo里,weibo表有多少列,什么类型的?存的可能是数组的地址,,我也不太懂了
来自:求助得到的回答
java中字符乱码转化的问题
String s=request.getParameter("字段名");这里s会乱码,可以做如下转换 byte[] bytes=s.getBytes(" B当前的编码格式");String s=new String(bytes,"A的编码方式");这个时候s就正常了
Load Port、SMIF
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
java中文乱码,能说下string.getBytes()和new String()转码是,具体点...
1、Java中,【String.getBytes(String decode)】的方法,会根据指定的decode,编码返回某字符串在该编码下的byte数组表示,例如:byte[] b_gbk = "中".getBytes("GBK");byte[] b_utf8 = "中".getBytes("UTF-8");byte[] b_iso88591 = "中".getBytes("ISO8859-1")上面三行代码表示:分别...
Java 中解决日文乱码问题
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("filename.txt"), "Shift-JIS"))) { String str = "こんにちは"; writer.write(str); // 将字符串写入文件 } 当然,Java的内置工具可能无法满足所有复杂场景,这时,引入第三方库如Apache Commons Co...
java控制台输出乱码
产生原因:因为这个开源项目的默认字符编码不对,所以控制台的字符编码也自动变成了UTF-8,而键盘的输入流的默认格式是GBK格式,这样就造成了在GBK转UTF-8的过程中产生的奇数乱码错误(这个问题的解释可以在搜索引擎找到)。解决办法:1.在代码区域右键 -> run as -> run configurations -> common(右侧...
java String.charAt在linux下获取中文怎么是乱码
1、跟Eclipse的编码设定有关。具体路径:Windows->Preferences->General->Workspace中有一个设定项为“Text file encoding”,这个选项指定了保存源码时使用的编码方式。我看了一下在Window下选项为Default(GBK),Linux下该选项为Default(UTF-8),编码方式的不同,决定了“我是中国人”转换成Byte数据不同...
java中的输出string字符串,是乱码
同学,这个不是乱码。数组本身是没有toString()方法的。你这里有个默认的调用 Object.toString()Object中的toString()方法,是将传入的参数的类型名和摘要(字符串的hashcode的十六进制编码)返回。也就是说,你直接对数组使用了toString()方法,就会得到 一个Ljava.lang.String;@175d6ab 其中,Ljava....
java string 17 乱码 显示成问号 怎么去除
你从数据库获得的信息是以UTF-8进行编码的,当传递到Myeclipse下,获得的数据是以GB2312 编码的,即Myeclipse会用GB2312对数据库中以UTF-8 编码的字符再次编码,得到的肯定是乱码。解决方法,推荐的是使用String a = new String("数据库数据".getBytes("ISO8859-1"),"GB2312");将字符转换为GB2312...
java 中文乱码问题 utf-8和gbk的区别
System.out.println(new String("中国".getBytes("utf-8"), "gbk"));//将“中国“的gbk编码格式按着utf-8解析,或者反过来都会出现乱码。如浏览器当前为gbk编码,就以gbk编码格式来提交。 这本身是不会出现乱码的,问题就出在Web服务器接收数据的时候,HttpServletRequest在将客户端传来的数据转成...
在java中怎样处理中文乱码的问题?(有几种处理方式)
读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。BufferedReader bre = null;try { String file = "D:/test/test.txt...
.java怎么把乱码转成文字
一、Java中文问题的由来 Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的...