SSH项目,mysql数据库,数据库中的中文可以正常读出来并显示,但是从表单提交上去的中文存进去就成问号了

SSH项目,mysql数据库,数据库中的中文可以正常读出来并显示,但是从表单提交上去的中文存进去就成问号了,第1张

首先,你表单提交的是否为POST类型?涉及中文编码的提交类型最好是post提交类型。

如果是POST类型,你在获取到表单参数的时候是否接受参数为UTF-8格式?如果是,那可能是mysql的问题,

连接mysql的时候jdbc:mysql://192.168.1.2/" dbName ?useUnicode=true&characterEncoding=GB2312"需要设置编码格式。

先查看数据库表的编码。如果使用phpmyadmin,点击“结构”,看表格的“整理一列”。如gbk_chinese_ci、utf8_general_ci等

确认你程序的编码,使用你所用的编辑器查看

如果两者不一致,就会出现问号乱码。两种方法解决

修改数据库编码

读、写数据库时将字符串转码

另外,注意你有没有执行 set names 'utf8'

1、检查并修改mysql的my.ini的配置文件。

default-character-set=utf8

2、建立数据库是要指定字符集。

create database mydb default character set utf8 collate utf8_general_ci

3、建立数据表示也要指定字符集。

CREATE TABLE IF NOT EXISTS `mydb` (

`username` varchar(64) NOT NULL,

`userid` int(11) NOT NULL,

) ENGINE=InnoDB DEFAULT CHARSET=utf8


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6667221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存