1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 存入数据库的数据出现中文乱码的解决方案

存入数据库的数据出现中文乱码的解决方案

时间:2022-12-05 12:40:08

相关推荐

存入数据库的数据出现中文乱码的解决方案

问题描述

在前端输入数据,数据中包含字母,数字,中文,将输入的中文落库,然后查询数据库发现落库的数据字母,数字均是正常的,但输入中文落库却是乱码。

尝试在不动代码进行乱码的解决方案

1.本项目在idea上进行编码的,因此首先想到的解决方案是更改编译器的默认编码格式。

打开编译器的File–>Settings–>Editor–>File Encodings,设置如下:

按照上图所示的,将红线圈住的地方全部设置成utf-8编码格式的,然后Apply再保存即可。

此处拓展一个问题:

Transparent native-to-ascii conversion 勾选还是不勾选呢?

Transparent native-to-ascii conversion的意思是:自动转换ASCII编码。

他的工作原理是:在文件中输入文字时他会自动的转换为ASCII编码,然后在idea中打开文件时他会自动转回指定的编码来显示。这样做是为了防止文件乱码。

知道了它的作用,那么到底够选还是不勾选呢?

这个得看应用场景:

第一种:勾选。在properties敲中文的备注和中文的待读取内容:1.取消勾选以后,看到到中文全都转成ASCII;2.其他团队成员拉取到的代码是ASCII;3.push到git上面是ASCII。也就是说比如有同事用的eclipse用中文写的备注,你这边编辑以后push会把原来中文的注释全都用ASCII覆盖,这个就是勾选以后造成的影响。

第二种:不勾选。在properties敲中文的备注,取消勾选以后看到的也是中文,因为它本身不是ASCII没法转码,暂时没发现什么问题;在properties敲中文的待读取内容,代码读取到的是乱码,这个是我遇到的问题,我把这些中文换成ASCII,读取到的就是正常的了。

2.在pom文件里面中的properties标签中增加如下的基础配置

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

如下图所示:

上述配置文件的作用:让整个项目统一以utf-8进行字符集编码

3.落库嘛,自然想到更改连接数据库时的基本配置。

在url配置项后面添加如下配置(有的情况下要加上serverTimezone=UTC):

useUnicode=true&characterEncoding=utf8&serverTimezone=UTC

如下图所示:

useUnicode=true&characterEncoding=utf-8的作用:

例如:数据库采用utf-8,项目数据库用的是utf-8

1.存数据时,数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用UTF-8编码存放到数据库中。

2.取数据时,数据库会先将数据库中的数据按UTF-8格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。

改动代码的方案后续补上。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。