首先在数据库里面输入

mysql> show variables like'%char%'
-> ;
+--------------------------------------+----------------------------+
| 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/ |
| validate_password_special_char_count | 1 |
+--------------------------------------+----------------------------+
9 rows in set (0.00 sec) mysql> set character_set_database=utf8; #更改编码属性
Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_client=gbk;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_connection=gbk;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_client=utf8;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec) mysql> show variables like'%char%'
-> ;
+--------------------------------------+----------------------------+
| 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/ |
| validate_password_special_char_count | 1 |
+--------------------------------------+----------------------------+
9 rows in set (0.00 sec) mysql> use test1
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> showtables
-> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'showtables' at line 1
mysql> show tables;
+-----------------+
| Tables_in_test1 |
+-----------------+
| address |
| authors |
| book_m2m_author |
| books |
| customer |
| student |
| study_record |
+-----------------+
7 rows in set (0.00 sec) mysql> insert into books (name) value('我');
-> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';' at line 1
mysql> insert into books (name) value('我');
ERROR 1366 (HY000): Incorrect string value: '\xE6\x88\x91' for column 'name' at row 1
mysql> alter table books convert to character set utf8; #将数据表的编码方式改成utf8
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0 mysql> insert into books (name) value('我');
Query OK, 1 row affected (0.01 sec) mysql> select * from books;
+----+------+----------+
| id | name | pub_date |
+----+------+----------+
| 1 | bbu1 | NULL |
| 2 | bbu2 | NULL |
| 3 | bbu3 | NULL |
| 4 | 我 | NULL |
+----+------+----------+
4 rows in set (0.00 sec) mysql> select * from books;
+----+--------------+----------+
| id | name | pub_date |
+----+--------------+----------+
| 1 | bbu1 | NULL |
| 2 | bbu2 | NULL |
| 3 | bbu3 | NULL |
| 4 | 我 | NULL |
| 5 | 我的世界 | NULL |
+----+--------------+----------+
5 rows in set (0.00 sec) mysql>

设置MYSQL数据库编码为UTF-8

 

1、  编辑MySql的配置文件

MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf

--在 [mysqld] 标签下加上以下内容:

default-character-set = utf8

character_set_server = utf8

注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。

--在 [mysql]  标签下加上一行

default-character-set = utf8

--在 [mysql.server]标签下加上一行

default-character-set = utf8

--在 [mysqld_safe]标签下加上一行

default-character-set = utf8

--在 [client]标签下加上一行

default-character-set = utf8

2、  重新启动MySql服务

Windows可在服务管理器中操作,也可使用命令行:

net stop mysql 回车

net start mysql 回车

服务名可能不一定为mysql,请按自己的设置

Linux下面可是用 service mysql restart

如果出现启动失败,请检查配置文件有没有设置错误

3、  查看设置结果
登录MySql命令行客户端:打开命令行

mysql –uroot –p 回车

输入密码

进入mysql后 执行 :show variables like "% character %";
显示结果应该类似如下:

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

如果仍有编码不是utf8的,请检查配置文件,也可使用mysql命令设置:

set character_set_client = utf8;

set character_set_server = utf8;

set character_set_connection = utf8;

set character_set_database = utf8;

set character_set_results = utf8;

set collation_connection = utf8_general_ci;

set collation_database = utf8_general_ci;

set collation_server = utf8_general_ci;

另外:

建立数据库时可以使用以下命令:

create database app_relation character set utf8;

use app_relation;

source app_relation.sql;

修改数据库编码的命令为:

alter database app_relation character set utf8;

centos7中mysql不能输入中文问题的解决的更多相关文章

  1. manjaro中微信不能输入中文及微信窗口出现透明轮廓的问题

    一.在安装deepin-wine-wechat后,无法切换成中文输入法.网上查找资料,在配置中添加 export 等 均未成功. 后来在官方(https://aur.archlinux.org/pac ...

  2. mysql无法输入中文

    #查看系统的环境变量 echo $LANG zh_CN.UTF-8 vim /etc/sysconfig/i18n 1 LANG="en_US.UTF-8"2 SYSFONT=&q ...

  3. C#中WebClient使用DownloadString中文乱码的解决办法

    原文:C#中WebClient中文乱码的解决办法 第一次尝试: string question = textBox1.Text.ToString(); WebClient client= new We ...

  4. [TimLinux] django CentOS7中django+httpd+mod_wsgi中文UnicodeEncodeError错误

    1. 错误 web端访问页面,页面内的view函数要写一个含有中文名字的文件,出现了这个错误.在PyCharm开发调皮环境中不存在这样的错误,把系统部署到http, mod_wsgi时出现. 2. 定 ...

  5. Linux Centos7中MySql安装

    (1)     安装Mysql5.7: 执行命令:rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-co ...

  6. linux下centos7中mysql崩溃问题的解决

    ---恢复内容开始--- 出现错误: 尝试解决: 错误解释是说系统运行过程中丢失了pid:我最先想到是 可能磁盘满了:于是 df -h 检查了一下:磁盘并没有满! 于是我对/etc/my.cnf [m ...

  7. mysql无法输入中文排错

    题记:以前都是使用可视化界面创建数据库,进行操作的,但是今天使用cmd窗口进行操作发现出错了. 以前记得自己使用cmd也是可以正确操作的,但是这次却出错了,在网上找了很多解决的办法,最后还是靠自己慢慢 ...

  8. ubuntu MySQL数据库输入中文乱码 解决方案

    一.登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:+--------------------------+----------------- ...

  9. CentOS7中MySQL跨机器数据迁移

    1.概况 在CentOS7环境下,使用命令方式将MySQL数据从源端主机迁移到目标端主机上. 2.迁移全部数据库 1)源端备份: [root@hadoop102 /]# mysqldump -u ro ...

随机推荐

  1. struts2的相关知识(实现原理、拦截器)

    struts2的实现原理 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的 ...

  2. python数据分析第二版:pandas

    一:pandas 两种数据结构:series和dataframe series:索引(索引自动生成)和标签(人为定义)组成---返回一个对象 obj = pd.Series([1,2,3,4]) ob ...

  3. hashlib模块subprocess模块

    '''通过一种算法,将字符串得出一种编码内容相同则hash运算结果相同,内容稍微改变则hash值改变不可逆推相同算法,无论校验多长的数据,得到的hash值长度固定'''# import hashlib ...

  4. Android Release 打包提示 "错误:找不到符号"

    搞了一上午....必须记录下来

  5. [洛谷P3958] NOIP2017 奶酪

    问题描述 现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为是无限大的,奶酪 中间有许多 半径相同 的球形空洞.我们可以在这块奶酪中建立空间坐标系,在坐标系中, 奶酪的下表面为z = 0,奶酪 ...

  6. FMDB复习

    //  colum/列/字段//  row/行/记录//  主键的作用是唯一标识一条记录//  sql语句注意:不区分大小写,以分号结束(不要分号也行?) //  如果增加字段,可能要指定数据类型,S ...

  7. JS自定义随机数字键盘

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. [hadoop](2) MapReducer:Distributed Cache

    前言 本章主要内容是讲述hadoop的分布式缓存的使用,通过分布式缓存可以将一些需要共享的数据在各个集群中共享. 准备工作 数据集:ufo-60000条记录,这个数据集有一系列包含下列字段的UFO目击 ...

  9. python-zx笔记9-单元测试

    unittest核心要素 1.TestCase 一个TestCase的实例就是一个测试用例.什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以 ...

  10. SSL异常javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

    jdk 7 http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html jdk 8 http: ...