mySql数据库中用页面不能插入中文,显示为?号,请问什么问题,怎么解决

2025-01-04 22:36:17
推荐回答(3个)
回答1:

乱码呗.
方法一,命令修改
进入cmd,进入mysql
用show variables查看你的字符集,character_set_server是服务器编码.要改变服务器的编码必须重新启动服务器
用mysqladmin –uroot shutdown关闭服务器,然后mysqld –C GBK启动服务器 –C是character_set_server的一个简写(可以也可以写成mysqld –character_set_server gbk)
方法二,手动修改
修改 my.ini文件,就是你的mysql所在的文件夹下面,你可以搜索下.找到default-character-set=gb2312(或者是其他编码)改为default-character-set=gbk
修改data目录中相应数据库目录下的db.opt配置文件
default-character-set=gbk
default-collation=gbk_chinese_ci

祝楼主好运,good luck

回答2:

编码问题,因为你从界面获取的数据 是你本地浏览器的编码,在服务器端可能用的不是这个编码

所以在数据传递到服务器的时候 将request.request.setCharacterEncoding("utf-8");
解码一下

回答3:

编码格式原因,连接Mysql时,指定一下编码格式,如:
String sqluri = "jdbc:mysql://localhost:3306/" + application.getInitParameter("sqldb") + "?useUnicode=true&characterEncoding=utf-8";