发表于: 2017-11-22 21:40:28
1 673
今天完成的事情:改表新建项目导入了一下原来项目pom文件 报红 core包的引入 有问题
明天计划的事情:好好看一下 pom文件
遇到的问题:mysql字符集 指定了utf8 结果 中文乱码
收获:mysql命令 show variables like 'character%'; 显示当前的编码
在输入SQL语句前先设置编码:set names gbk,再输入SQL。 注意 此命令 临时有效
它的作用如下 用了之后
会把 客户端显示使用的编码 连接使用的编码 结果集返回的编码 这三条更改
而还有一个命令 set charset gbk; 它的效果是改变如下两条
修改字符编码必须要修改mysql的配置文件my.cnf,然后重启才能生效
通常需要修改my.cnf的如下几个地方:
【client】下面,加上default-character-set=utf8,或者character_set_client=utf8
【mysqld】下面,加上character_set_server = utf8 ;
因为以上配置,mysql默认是latin1,如果仅仅是通过命令行客户端,mysql重启之后就不起作用了。
如下是客户端命令行修改方式,不推荐使用
mysql> set character_set_client=utf8 ;
mysql> set character_set_connection=utf8 ;
mysql> set character_set_database=utf8 ;
mysql> set character_set_database=utf8 ;
mysql> set character_set_results=utf8 ;
mysql> set character_set_server=utf8 ;
mysql> set character_set_system=utf8 ;
这些都是mysql的配置 此外还有我们建的数据库 表 表里的字段的编码格式
修改数据库字符编码
alter database mydb character set utf8 ;
创建数据库时,指定数据库的字符编码
create database mydb character set utf8 ;
alter database 数据库名 character set “字符集”; 命令来修改数据库字符集
远程连接mysql 命令
mysql -h ip -u root -p 注意 空格一定要有 否则报错
连接MySQL时也可以添加参数,mysql -uroot -p --default-character-set=gbk 指定了连接编码
原来 windows cmd 默认使用的是gbk 可以使用chcp命令更改编码 65001(utf8字符编码)
cmd窗口默认编码为gbk,数字代码为936
而linux 默认的是utf8 echo $LANG可以查看当前使用的系统语言
locale命令也可以查看
还有一点也要注意 那就是navicate 连接的时候 也是有相关设置的
评论