-
[linux上路] 开发环境准备三 Debian8 修改MySQL5.7字符集编码为UTF8
2017-05-08 09:59:36Debian 修改MySql5.7字符集编码为UTF8,解决中文乱码问题说明
解决Linux MySql中文乱码问题
登录MySQL查看字符集
mysql> show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
初始状态character_set_database和character_set_server的默认字符集是latin1。
修改my.cnf文件中的字符集键值
my.cnf文件在etc/mysql/路径下,打开my.cnf可以看到
!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/
大致意思是配置文件包含 那个目录下的配置文件,于是进到conf.d文件夹,看到mysql.cnf打开发现里面只有一个空标记[mysql],我们不修改这个文件,打开另外一个文件夹mysql.conf.d,看到mysqld.cnf,打开这个文件,把character-set-server=utf8放在[mysqld]最后
[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql log-error = /var/log/mysql/error.log character-set-server=utf8 # By default we only accept connections from localhost bind-address = 127.0.0.1 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0
重启mysql服务
修改完成后,service mysql restart重启mysql服务就生效。网上说[mysqld]字段与[mysql]字段是有区别的,有兴趣可以查查。
再查看字符集
使用SHOW VARIABLES LIKE ‘character%’;查看,编码修改成功。
mysql> show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.01 sec)
-
mysql编码修改utf8_修改mysql字符编码成为UTF8
2021-01-18 23:18:09Windows环境下:在某些时候,我们续要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常...Linux环境下:安装后/etc/init.d/mysql start (stop) 为启动和停止服务器/etc/mysql/ 主要配置文件所在位置 ...Windows环境下:
在某些时候,我们续要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改,windows可以直接用Mysql Server Instance Config Wizard 进行设置 。
Linux环境下:
安装后
/etc/init.d/mysql start (stop) 为启动和停止服务器
/etc/mysql/ 主要配置文件所在位置 my.cnf
/var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹
启动mysql后,以root登录mysql
isher@isher-ubuntu:~$ mysql -u root
>show variables like 'character%'; #执行编码显示
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
在某些时候,我们续要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改,windows可以直接用Mysql Server Instance Config Wizard 进行设置
在linux下修改3个my.cnf的1个/etc/mysql/my.cnf文件
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
修改好后,重新启动mysql 即可,查询一下show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
此方法用于标准mysql版本同样有效,对于/etc/my.cnf文件,需要从mysql/support-files的文件夹cp my-large.cnf一份到/etc/my.cnf。
-
Mysql修改编码为utf8
2016-06-30 13:50:34这时就需要我们修改mysql的默认编码,在Linux环境下,mysql的配置文件是放在/etc/mysql/my.cnf文件中的。要修改编码方式,需要做以下修改: 1.打开配置文件:vi /etc/mysql/my.cnf 2.在[client默认情况下,mysql的编码格式为latin1,在这种情况下插入中文的时候,会出现UnSupportEncodingException异常。这时就需要我们修改mysql的默认编码,在Linux环境下,mysql的配置文件是放在/etc/mysql/my.cnf文件中的。要修改编码方式,需要做以下修改:
1.打开配置文件:vi /etc/mysql/my.cnf
2.在[client]下添加: default-character-set=utf8
3.在[mysqld]下添加:character-set-server=utf8
4.在[mysql]下追加default-character-set=utf8
5.保存退出: :wq
这样就完成了配置文件的修改,重启mysql服务(sudo restart mysql),然后用status(或者show variables like '%character%' )命令查看mysql的配置信息,可以发现编码方式已经修改为utf8了。
-
Linux下Mysql编码修改为UTF-8
2014-12-13 16:24:04以CentOS6.3示例,查看当前系统环境变量: [root@cloudmaster ~]# mysql -uroot -p mysql> show variables like '%character%'; +--------------------------+----------------------------+ | ...以CentOS6.3示例,查看当前系统环境变量:
[root@cloudmaster ~]# mysql -uroot -p
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)mysql> quit;
Bye
修改方法:
1.查找my-large.cnf文件
[root@cloudmaster ~]# find / -name "my-large.cnf"
/usr/share/mysql/my-large.cnf
/usr/share/doc/mysql-server-5.1.66/my-large.cnf2.拷贝修改my.cnf(即my-large.cnf)
[root@cloudmaster ~]# cp /usr/share/doc/mysql-server-5.1.66/my-large.cnf /etc/my.cnf
[root@cloudmaster ~]# vi /etc/my.cnf
在[client]下增加一行:default-character-set=utf8
在[mysqld]下增加一行:default-character-set=utf8
如果让mysql数据库为UTF-8运行,使连接mysql数据库时使用UTF-8编码则:
在[mysqld]下增加一行:init_connect='SET NAMES utf8'
12345678910111213141516171819202122232425262728293031……………………
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket =
/var/lib/mysql/mysql
.sock
default-character-
set
=utf8
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket =
/var/lib/mysql/mysql
.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
default-character-
set
=utf8
init_connect=
'SET NAMES utf8'
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
……………………
[root@cloudmaster ~]# service mysqld restart3.重启Mysql服务
4.查看系统环境变量
[root@cloudmaster ~]# mysql -uroot -p
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.02 sec)mysql> quit;
Bye
5.数据库创建注意事项
做过如上操作,如果直接数据库再创建表,然后存入中文,取出来的会是问号。
解决的办法是:创建数据库的时候指明默认字符集为utf8,如:
mysql> create database dbname default character set utf8;
其他:
允许MYSQL数据库远程连接:
[root@cloudmaster ~]# mysql -uroot -ppassword
mysql>show databases; //查看当前数据库;
mysql>use mysql; //进入mysql数据库;
mysql>show tables; //查看数据库表;
mysql>GRANT ALL PRIVILEGES ON *.* TO myuser@'IP' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
授权mysql数据库可从某个IP连接,IP字段可改为%,表示任何IP。
mysql> FLUSH PRIVILEGES; //使配置生效;
mysql> quit; //退出数据库;
-
Linux 字符编码UTF-8->GBK->big5
2020-04-26 10:24:23文章目录Linux字符编码默认为UTF-8,如出现乱码可设置为GBK编码转换 iconv Linux字符编码默认为UTF-8,如出现乱码可设置为GBK 修改配置文件 **/etc/locale.conf**—>全局 ~/.bashrc -->修改个人 中文... -
Linux修改环境编码
2019-01-24 11:40:24以下方为在centos 6.7上验证可以 ...修改系统编码 vi /etc/sysconfig/i18n LANG="zh_CN.UTF-8" SUPPORTED="zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030" 将中文添加到locale localedef... -
修改mysql字符编码成为UTF8
2010-08-30 20:33:00Windows环境下: 在某些时候,我们续要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改,... Linux环境下: 安装后 /etc/init.d/mysql start (stop) 为启动和停止服务器 -
linux mysql 编码修改吗_玩转MySQL之Linux下修改默认编码
2021-02-01 08:29:50小弟这里记录了MySQL的默认编码的修改,这里将其默认编码都统一修改为utf8,希望本文对大家有所帮助,谢谢!环境:Linux版本: centeros 6.6(下面演示),Ubuntu 12.04(参见文章末尾红色标注字体)MySQL版本: 5.1.73... -
Linux环境下为mysql5.7设置编码
2018-06-01 09:56:44Linux环境下为mysql5.7设置编码 修改/etc/my.cnf,找到mysqld character-set-server=utf8 init_connect='SET NAMES utf8' 重启MySQL ##停止 service mysqld stop ##启动 service mysqld start 进入MySQL... -
Centos7 Linux环境下为mysql5.7设置编码
2020-05-01 19:22:39Linux环境下为mysql5.7设置编码 修改/etc/my.cnf character-set-server=utf8 init_connect='SET NAMES utf8' ##停止 service mysqld stop ##启动 service mysqld start 查看编码 show variables like '... -
Linux环境下【mysql】修改mysql5.5默认编码
2015-08-24 23:24:46mysql数据库的默认编码并不是utf-8。 安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码: ...以下是命令行修改为utf-8编码的过程,以支持中文。 (1)关闭mysql服务 -
Linux修改系统编码方法总结
2019-02-25 15:09:09因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8) 检查系统编码 英文环境如下: [root@localhost ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_... -
Linux下修改Mysql默认编码
2015-01-24 18:13:49小弟这里记录了MySQL的默认编码的修改,这里将其默认编码都统一修改为utf8,希望本文对大家有所帮助,谢谢! 环境: Linux版本: centeros 6.6(下面演示),Ubuntu 12.04(参见文章末尾红色标注字体) MySQL版本:... -
MySQL之Linux下修改默认编码
2016-08-23 18:39:35MySQL的默认编码的修改,这里将其默认编码都统一修改为utf8,希望本文对大家有所帮助,谢谢! 环境: Linux版本: centeros 6.6(下面演示),Ubuntu 12.04(参见文章末尾红色标注字体) MySQL版本:... -
mac修改mysql编码_Mac下修改MySQL编码格式(Linux基本一致)
2021-01-27 07:20:42目录:配置MySQL,包括path和my.cnf新建库保证为utf8、已有的库修改其为utf8以及查看编码的方法避免导入 数据库 中文乱码问题解决网页中乱码问题首先配置好MySQL.1 先配置环境变量path首先cd到用户目录,然后ls -a... -
Linux-oracle环境编码设置步骤
2016-04-28 14:46:35在做项目的过程中,经常会出现因为...首先,思路是将服务器和客户端的编码格式统一为 JAPANESE_JAPAN.AL32UTF8 格式。 1.修改服务器端编码格式 在linux服务器的根目录下有一个.bash_profile的文件,在该文件中追 -
[Linux] 修改系统默认编码
2014-10-11 13:51:00locale 设置语言环境的命名规则为 Language_area.charset,例如 en_US.utf8 表示语言为英语,地区为美国,字符集为 UTF-8。 查看当前字符映射文件 $ locale charmapUTF-8 查看可用公共语言环境 ... -
mysql修改字符集utf8mb4引发的惨案
2020-06-08 11:22:32惨案原因:数据库表需要支持表情很符号,表情符号一般是4个字符,utf8最多支持3个字符,如果插入表情符号4个字符的字段就会报错,因此我们修改了此表的字符集为utf8mb4,在这说明一下utf8mb4是utf8的超集。... -
玩转MySQL之Linux下修改默认编码
2015-01-24 18:13:00小弟这里记录了MySQL的默认编码的修改,这里将其默认编码都统一修改为utf8,希望本文对大家有所帮助,谢谢! 环境: Linux版本: centeros 6.6(下面演示),Ubuntu 12.04(参见文章末尾红色标注字体) MySQL... -
linux——编码格式
2018-01-18 13:46:48问题:本地测试环境的富文本数据(blob类型)在linux环境下出现乱码,#locale //查看linux编码编辑/etc/sysconfig/i18n这个文件找到LANG="en_US.UTF-8"(默认是这个)修改为LANG="zh_CN.GBK"如果没有i18n这个文件,... -
linux环境 下oracle字符集修改
2018-04-10 18:35:19查询编码,编码为AMERICAN_AMERICA.AL32UTF8,我要的是AMERICAN_AMERICA.ZHS16GBK编码。2,关闭数据库:立即关闭2,修改预言的实例字符集:SQL> STARTUP MOUNT; SQL> ALTER SY... -
wamp集成环境下,修改MySQL的默认编码格式
2020-03-06 20:02:31本文设置为utf8mb4,大家修改为自己想要的即可。大多数会推荐修改为utf8,utf8mb4和utf8的区别可自行搜索决定 修改配置 1.打开wamp64/bin/mysql/mysql5.7.21/my.ini(Windows系统中为my.ini,Linux系统下为etc/my.... -
Ubuntu修改编码格式为中文
2020-01-18 15:30:46Ubuntu修改编码格式为中文zh_CN.UTF-8环境说明操作步骤具体代码之后又在linux上跑了jar 包,本地测试后可以接收到中文无乱码 环境说明 xshell6远程连接阿里云服务器 root@iZ2zea8u1l5s93xd1j5jfxZ:/# cat /etc/issue... -
修改Tomcat运行时jvm编码问题
2021-01-09 22:06:04Linux环境下如果使用的UTF-8编码,可以不用修改,因为Linux默认为UTF-8 war包部署在Tomcat 修改jvm编码 Linux环境 在catalina.sh配置 JAVA_OPTS=$JAVA_OPTS -Dfile.encoding=utf-8 由于Windows环境下默认的编码格式... -
tomcat编码配置gbk_修改Tomcat运行时jvm编码问题
2020-12-29 16:48:19问题:最近在部署项目的时候出现数据乱码的情况,经过一番查看项目都是用的UTF-8编码格式,...解决办法:Linux环境下如果使用的UTF-8编码,可以不用修改,因为Linux默认为UTF-8war包部署在Tomcat修改jvm编码Linux环...
-
深究字符编码的奥秘,与乱码说再见
-
MMM 集群部署实现 MySQL 高可用和读写分离
-
API示例:用于查询不同API的示例代码-源码
-
基于SSM实现的房屋租赁系统【附源码】(毕设)
-
MySQL 函数、用户自定义函数
-
自杀式无人机的综合制导与控制设计
-
深度强化学习在通信和网络中的应用:一项调查
-
华为1+X——网络系统建设与运维(高级)
-
设备到设备嵌入式蜂窝网络中的移动众包的信道访问和功率控制
-
使用HTTP网络技术构建灵活的RationalClearCase系统
-
wei-app-源码
-
剑指 Offer 05. 替换空格
-
基于python的dango框架购物商城毕业设计毕设源代码使用教程
-
GNU:GCC -O 优化等级
-
打开vivado的.xpr工程文件报错Cannot locate target loader
-
BDS和GPS独立和集成的精确度定义和比较的姿态稀释。 太空研究的进展
-
Theoretical Machine Learning solution 1
-
markdown编辑器
-
试题 算法训练 字串统计
-
IOS学习之IOS沙盒(sandbox)机制和文件操作