0
点赞
收藏
分享

微信扫一扫

数据库mysql显示??问号的解决办法步骤,本地断点显示是中文正常的,然后使用Mybatis的insert,数据库显示??,针对常用的修改配置最终解决记录解决办法


1、怀疑是不是数据库的配置,然后使用Navicat的客户端进行各种修改。

1.1修改字符集为UTF-8

需要修改MySQL配置文件my.cnf文件,Windows环境则是my.ini文件。


通常在linux环境下my.cnf文件位于/etc/mysql/my.cnf(/etc/my.cnf)路径下,但由于安装版本或是系统环境的不同,我们可能无法在这个目录中找到该文件

1.Linux下修改方法

修改mysql的配置文件,由于新装的mysql有可能在etc下没有my.cnf

这是需要自己创建一个。查找一个my-medium.cnf 文件,然后复制到etc文件夹下命令为:cp /usr/share/doc/MySQL-server-5.5.24/my-medium.cnf /etc/my.cnf

Shell代码:

#echo 修改my.cnf文件

#sudo vi /etc/my.cnf

在[client]下加入代码:

default-character-set=UTF8

在[mysqld]下加入代码:

character_set_server=utf8

在[ mysql ]下加入代码:

default-character-set=utf8

然后在客户端操作记录:

( 5.0以上版本修改方法:

修改/etc/my.cnf 中的设置,

在[client]节点下添加

default-character-set=utf8

在[mysqld]节点下添加

character-set-server=utf8

collation-server=utf8_general_ci

)

然后重启mysql即可


我的情况是 [mysqld]设置

character-set-server=utf8

collation-server=utf8_general_ci

重启后,show variables like 'char%'显示都改好了,重新创建database,table插入能够显示中文了。

数据库mysql显示??问号的解决办法步骤,本地断点显示是中文正常的,然后使用Mybatis的insert,数据库显示??,针对常用的修改配置最终解决记录解决办法_mysql问号解决

逻辑进行修改,主要操作在Navicat连接的数据库上面,普通用户进行处理:

数据库mysql显示??问号的解决办法步骤,本地断点显示是中文正常的,然后使用Mybatis的insert,数据库显示??,针对常用的修改配置最终解决记录解决办法_数据库_02

数据库mysql显示??问号的解决办法步骤,本地断点显示是中文正常的,然后使用Mybatis的insert,数据库显示??,针对常用的修改配置最终解决记录解决办法_数据库_03


数据库mysql显示??问号的解决办法步骤,本地断点显示是中文正常的,然后使用Mybatis的insert,数据库显示??,针对常用的修改配置最终解决记录解决办法_mysql_04

show variables like ‘char%;
ALTER TABLE tbm_user DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
show create table tbm_user;
show create database tbm;
ALTER TABLE tbm_user DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
create table tbm_user_1027copy as (select t.* from tbm_user t );
select @@global.sql_mode;
show variables like%char%;
set @@global.sql_mode=(select replace(@@global.sql_mode,‘ONLY_FULL_GROUP_BY’,’’));
show variables like "%char%";


SET character_set_server='utf8mb4';
SET character_set_connection='utf8';
SET character_set_results='utf8';

show variables like "%colla%";

set global character_set_database=utf8;
set global character_set_server=utf8;

SET character_set_server='utf8';
show variables like '%char%';

ALTER TABLE `tbm_user` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER DATABASE `tbm` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


show create table tbm_user ;

2、综上所述主要是针对的数据库逇;

修改之后上面的之后仍旧不靠谱,还是没有解决这个问题,最后一招解决掉这个问题

jdbc配置连接修改为下面的就可以解决le

primary:
# 预发布环境数据
# jdbc-url: jdbc:mysql://1.0.1.74:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=TRUE&useAffectedRows=true
jdbc-url: jdbc:mysql://1.0.0.91:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=TRUE&useAffectedRows=true
username: test
password: test@123456$
driver-class-name: com.mysql.jdbc.Driver
maximum-pool-size: 15
#mysql wait_timeout to avoid broken connection exception
max-lifetime: 28770000
connectionTestQuery: select 1 from dual

原来的配置是这样子的。然后一般情况正常,可是搭建一个新的环境就不正常了。

jdbc-url: jdbc:mysql://1.0.0.1:3306/tbm?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true







举报

相关推荐

0 条评论