mysql向中插入数据成功,但文字显示不出来;
在html中form表单提交了数据,数据库中显示乱码;
这是怎么回事
我按照网上的教程改成了这样的编码格式:
你先看看在控制台打印是否是乱码如果不是的话,应该就是数据库和你后端的问题,
再去看看配置的sql连接中url的值是否设置了字符集编码,
格式是否对应url=jdbc:mysql://localhost:3306/mybatis?userSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
你html 提交的就是连接数据库的问题呀, 在连接中 加 utf-8
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
html是不是也要设置下编码格式?
1、进入mysql\bin路径下,地址栏输入cmd,输入mysql -uroot -proot
mysql> SHOW VARIABLES LIKE 'character%';
查看字符集是否为utf8
2、进入mysql中,修改my.in文件
[mysql]
default-character-set=latin
修改为
[mysql]
default-character-set=utf8
再将
character-set-server=latin
修改为
character-set-server=UTF8
3、在java程序JDBC对应的数据库文件jdbc.properties中URL地址修改为
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/myxj?useUnicode=true&characterEncoding=utf-8
user=root
password=root
4、重启mysql数据库
造成乱码的地方很多,建议分步骤查找:
1、html的form提交后台,在后台为入库之前检查是否乱码,不一致则前后端编码不一致需要改成一致,或者转码
2、如果是后端调用insert的时候乱码,指定jdbc的url编码,如果还是乱码检查表字段的编码是否对的,不一致则修改字段编码试试
把插入的数据从数据库中删除,重新插一遍应该就好了。原因应该是数据库最初字符集是非UTF-8的,修改字符集后乱码的内容仍需清理重新插入。
如有帮助,望采纳