mysql中插入中文数据

今天遇到的问题使mysql中插入中文数据后显示乱码,我在mysql中插入中文的时候,可以插入可是select的时候却无法显示,为此我写下这篇博客用于解决mysql插入中文。

由于有些截图没有记录下来,但是为了说明问题,我借用了别人的图,主要是为了完整的描述问题,在没有任何修改的时候,我们可以在mysql命令行中敲入以下指令,其结果如下所示:

show variables like 'character%';

可以看到,以上的编码并不支持中文,所以我们需要改变他们的编码(我这里是改成了utf8格式的)以支持中文,修改步骤如下:

修改以后,关闭mysql服务(net stop mysql),然后再重新启动mysql服务(net start mysql),注意以上的修改不要出错,否则你在重新启动mysql的时候会出现系统错误,错误号为1067(若是出现了可以说明是你在修改的过程中出错了,检查一下你的修改)。修改好了以后,我再次使用 show variables
like ‘character%‘;命令查看了一下,显示如下:

可以看到编码基本都转换为了utf8格式的,于是我使用了以下指令(切换数据库)

ues test

然后我创建了新表,但是插入中文的时候出现了错误,原因下图中也是可以看出的,有一项的格式又变回了 latin1 格式

原因是我们的修改对test数据库无效(应该是可以修改的,这就留给细心的你们了),于是我新创建了一个数据库:

可以看到新的数据库的数据格式,我感觉这回应该搞定了,下面我们来试试吧!

哈哈,搞定!

时间: 2024-10-08 09:30:00

mysql中插入中文数据的相关文章

myeclispe中向mysql中插入中文数据出现??问题解决办法

或许很多人会出现??这种令人头痛的mysql的中文乱码问题:解决如下: 1.先对于新建的数据库要设置默认的字符集为UTF-8 create database mydb default character set utf8 collate utf8_general_ci; 2.然后对于想对应的表进行设置默认字符集 CREATE TABLE IF NOT EXISTS `mydb` ( `username` varchar(64) NOT NULL, `userid` int(11) NOT NUL

python 向MySQL里插入中文数据

用python向MySQL中插入中文数据出错,原代码片段: 1 db = MySQLdb.connect("localhost","root","123","TESTDB") 2 cursor = db.cursor() 3 sql = '''INSERT INTO aaaa(bb,cc) values(%s , %s)''' 4 5 data = ("山东","威海") 6 curso

解决mysql无法插入中文数据及插入后显示乱码的问题

(1)废话不多说就是使用mysql数据库的时候无法输入中文,可以输入中文后显示的又是乱码!! (2开始解决问题: 第一步:找到安装mysql的目录找到 my.ini 文件: 第二步:使用记事本打开my.ini文件 , 找到这个地方 看看default-character-set 是不是 utf8不是的话 改为utf8即可 1 # MySQL client library initialization. 2 [client] 3 port=3306 4 [mysql] 5 default-char

从0到1导出Linux下的MySQL中含有中文数据的文件(not complete)

注明版本号: 这是刚安装完MySQL的时候的样子: 首先解决secure_file_priv的问题: 由于文件是只读的,所以只能在root模式下来改.使用vi命令编辑mysqld.cnf: 在文件结尾加上这一行,保存并退出. 现在再看看: 未完待续. 参考链接: 1.mysql命令之二:查看mysql版本的四种方法 - duanxz - 博客园 https://www.cnblogs.com/duanxz/p/5244634.html 就是看个版本号,可以进入MySQL后输入status;或se

mysql中的中文乱码处理

备注:来自老男孩课程的学习总结 1.MySQL中添加中文数据乱码演示 a. 创建一个oldboy测试数据库并查看建表语句 模拟创建一个默认的字符集数据库 create database oldboy default character set latin1 collate latin1_swedish_ci; 2 创建一个表 mysql> create table student ( id int(4) not null auto_increment, name char(20) not nul

(转) 如何向SQL Server 2005中插入中文

如何向SQL Server 2005中插入中文? 向SQL Server 2005中插入中文数据后,查询出来的结果是???,根本就不显示中文 解决方法: 1 关于数据库排序规则,将SQL_Latin1_General_CP1_CI_AS改成Chinese_PRC_CI_AS ,看一下是否可以解决这个问题,可惜我不能直接操作数据库,测试不了! 修改数据库的排序规则命令: alter   database   [databasename]  COLLATE   Chinese_PRC_CI_AS 2

在MySQL向表中插入中文时,出现:incorrect string value 错误

在MySQL向表中插入中文时,出现:incorrect string value 错误,是由于字符集不支持中文.解决办法是将字符集改为GBK,或UTF-8.      一.修改数据库的默认字符集        ALTER DATABASE db_name DEFAULT CHARCTER SET character_name [COLLATE... ] 例子:ALTER TABLE db_mysql DEFAULT CHARCTER SET gbk          注释: (COLLATE是字

EF 连接MySQL 数据库 ?保存中文数据后乱码问题

EF 连接MySQL 数据库  保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的图),否则插入的数据,就会全部变成乱码 修改后可以正常插入数据(注意!!这里是直接用SQL 代码插入的数据) 之后用代码界面保存数据,如图 但数据中却变成乱码: 修改方法: 在连接MySQL的连接字符串中,加入配置文件信息:Character Set=utf8  来自为知笔记(Wiz)

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

一 CentOS下通过rpm方式安装MySQL CentOS版本:CentOS-7 MySQL版本:MySQL-5.6.22 在网上搜了一下,Linux下安装MYSQL有三种方式: 1) 通过yum命令在线下载安装 2) 下载离线rpm安装包安装 3) 下载源码编译安装 方式1不打算用,因为我们大部分项目服务器是不能直接上Internet的,网上关于在线安装的教程很多,方式3对于只要应用MYSQL的人来说没必要多此一举. 1. 解压下载的zip包,会发现有以下几个rpm包: MySQL-clie