为了账号安全,请及时绑定邮箱和手机立即绑定

中文字符串传进mysql数据库变问号,要怎么解决/(ㄒoㄒ)/~

中文字符串传进mysql数据库变问号,要怎么解决/(ㄒoㄒ)/~

有只小跳蛙 2019-04-05 18:19:48
中文字符串穿件mysql数据库变问号,要怎么解决/(ㄒoㄒ)/~~其他数字英文都可以,就是中文不行我已经试过把项目编码与数据库编码都改成一样的了,但还是不行/(ㄒoㄒ)/~~求大神指教~~~
查看完整描述

5 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

数据库字符集用 utf-8 的话,连接数据库的 URL 加上 useUnicode=true&characterEncoding=utf8


查看完整回答
反对 回复 2019-04-22
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

MySQL、数据库、表之间都有自己的编码设置,一般来说都是将 MySQL 设置为 UTF-8,这样便于通信使用,上面的朋友说的是对的,如果你使用这种方法创建的表能正确存储中文,说明问题就是出在编码上。发现问题以后,最好去改 MySQL 自身的编码设置,不过还需要注意的是,最好把排序规则也改为中文,不然有可能出现结果排序不正确

查看完整回答
反对 回复 2019-04-22
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

举例如下,你再建表的时候,你要指定表的编码方式是utf-8,这样才会支持中文。下面代码中最后一行用了 CHARSET=utf8来表示,看到了么???


CREATE TABLE `api_user` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',

  `gmt_create` datetime NOT NULL COMMENT '创建时间',

  `gmt_modified` datetime NOT NULL COMMENT '修改时间',

  `is_deleted` varchar(1) NOT NULL COMMENT '是否删除',

  `creator` varchar(64) DEFAULT NULL COMMENT '创建者',

  `modifier` varchar(64) DEFAULT NULL COMMENT '修改者',

  `api_name` varchar(64) NOT NULL COMMENT '用户名',

  `code` varchar(128) NOT NULL COMMENT '密钥,对称加密保存',

  `white_list` varchar(256) DEFAULT NULL COMMENT '可访问API列表(正则,逗号分隔)',

  `black_list` varchar(256) DEFAULT NULL COMMENT '禁止访问API列表(正则,逗号分隔)',

  `remark` varchar(256) DEFAULT NULL COMMENT '备注',

  PRIMARY KEY (`id`),

  KEY `idx_api_user_api_name` (`api_name`)

) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='对外API用户表';


查看完整回答
反对 回复 2019-04-22
?
哔哔one

TA贡献1854条经验 获得超8个赞

编码要统一,最好都设置为utf-8


查看完整回答
反对 回复 2019-04-22
  • 5 回答
  • 0 关注
  • 667 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信