Mysql中给数据库,表,字段设置字符编码
总结:
错误是在你的结果集中有两种字符集。
比如说你在两个表联合查询,一个表的字符集是latin1,另一个是utf8,
这样在你的结果集中有两种字符集,mysql会报上面的错误。
一个表中不同的字段使用不同的字符集,也是一个道理。
用SHOW CREATE TABLE table_name;可以看出具体的字符集设置。
查了帮助手册,说是user的字符集没有设,默认为utf8,将其转为latin1或gb2312等字符集
解决方法:
将不同的字符集,转化成统一的字符集。
After an upgrade to MySQL 4.1, the statement fails:
mysql> SELECT SUBSTRING_INDEX(USER(),'@',1);
ERROR 1267 (HY000): Illegal mix of collations
(utf8_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE)
for operation 'substr_index'
The reason this occurs is that usernames are stored using UTF8 (see section 11.6 UTF8 for Metadata). As a result, the USER() function and the literal string '@' have different character sets (and thus different collations):
mysql> SELECT COLLATION(USER()), COLLATION('@');
+-------------------+-------------------+
| COLLATION(USER()) | COLLATION('@') |
+-------------------+-------------------+
| utf8_general_ci | latin1_swedish_ci |
+-------------------+-------------------+
One way to deal with this is to tell MySQL to interpret the literal string as utf8:
mysql> SELECT SUBSTRING_INDEX(USER(),_utf8'@',1);
+------------------------------------+
| SUBSTRING_INDEX(USER(),_utf8'@',1) |
+------------------------------------+
| root |
+------------------------------------+
Another way is to change the connection character set and collation to utf8. You can do that with SET NAMES 'utf8' or by setting the character_set_connection and collation_connection system variables directly.
表的编码转换可以用:(MySQL Version > 4.12)
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
之前的版本可以用:
ALTER TABLE tbl_name CHARACTER SET charset_name;
MySQL官方解释:
http://dev.mysql.com/doc/refman/5.0/en/charset-collation-charset.html
附加:
修改字段类型的方法:(经过 google 搜索)
登录MYSQL后执行这个语句就可以了:
复制SQL代码保存代码ALTER TABLE `phrase` CHANGE `varname` `varname` VARCHAR( 250 ) NOT NULL;
修改字段字符集的方法:
mysql〉show full columns from table就会发现两个字段的字符集是不一样的。
通过用
ALTER TABLE `tname` CHANGE `column` `column` VARCHAR( 15 ) CHARACTER SET latin1 NOT NULL。
(假设变更为字符型,並且字符集类别为latin1 latin1 )
修改.ini文件的方法:(不建议使用)
在mysql 的安装目录下有一个my.ini文件,
打开找到[mysql]下的default-character-set=*****,改成default-character-set=gb2312,重启mysql 即可。
该文章转载自网络大本营:http://www.xrss.cn/Dev/DataBase/200792116686.Html
转载于:https://www.cnblogs.com/csj007523/archive/2008/03/20/1115503.html
Mysql中给数据库,表,字段设置字符编码相关推荐
- 将mysql中的数据库表导出和导入
目录 导出数据库 导入数据库 导出数据库 如果你的mysql没有配置环境变量,首先需要进到你所安装的mysql目录下的bin目录 进入之后输入: mysqldump -uroot -p booksys ...
- 使用mybatis操作MySQL中的数据库表1---读取数据
1)MySQL中创建表 create table student ( id int(11) not null, name varchar(255) default null, email varcha ...
- mysql数据库表类型设置_mysql数据库表的类型介绍
目录 前言 之前我们讲了下载安装数据库,还有如何卸载(虽然直接重装系统就好) 那么现在让我们来讲讲 """ 1.数据库与表的剩余操作 编码配置.引擎介绍 2.数据库字段的 ...
- 记MySQL中如何删除某个字段中的某个字符
问题描述: 问题:项目中对以逗号分隔的字符串进行指定字符修改删除时,会导致其它字符无法使用. 原因分析: SQL语句拼写错误.遗漏replace()中的第三个参数,漏写了,. 错误的写法: updat ...
- 把Excel表格通过MySql Workbench导入数据库表中的使用总结
把Excel表格通过MySql Workbench导入数据库表中的使用总结 今天接到一个任务,把excel表中的数据导入到mysql数据库中,通过半个多小时的鼓捣,基本上摸清了里面的门道. 首先,准备 ...
- mysql check 字段 0_怎么用PHP显示出mysql中 pwn_dingcan_order这个表中 ifcheck 这个字段为0 的这条数据呢。...
怎么用PHP显示出mysql中pwn_dingcan_order这个表中ifcheck这个字段为0的这条数据呢.这样是显示出全部订单的语句.这么才能只显示这个ifcheck=0的这一条数据呢.< ...
- mysql默认字符编码设置教程:my.ini设置字符编码
转载2016-06-07 21:49:26 标签:mysql 本文介绍了MySQL数据库中默认字符编码的设置方法,如何设置与修改mysql默认编码,my.ini设置字符编码的教程,需要的朋友参考下. ...
- Oracle/MSSQL/Mysql 常用数据库的字段类型及大小
Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字 ...
- MySql中把一个表的数据插入到另一个表中的实现代码--转
MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...
- mysql中创建数据表
从今天开始学习mysql数据库,希望以后能够记录自己学习的点点滴滴 mysql中创建数据表 1.创建一个数据库为test_db mysql> create database test_db; Q ...
最新文章
- 钱学森最后一次系统谈话:大学要有创新精神
- 传统网站性能优化的三种手段
- JavaWeb开发概述
- 机器学习知识点(三十五)蒙特卡罗方法
- vs html自动对齐,vscode esLint 保存时 自动对齐
- 22. loacte命令
- Nginx的http块MIME-Type的使用
- MyEclipse web项目导入Eclipse,详细说明
- sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错...
- SQL数据库查询基础(主讲MySQL,必要时补充了SQLServer、Access兼容性说明)
- Golang并发模式--管线
- 利用jieba进行中文分词并进行词频统计
- MOSSE相关滤波目标跟踪论文
- JavaScript中sort()对数组数字项函数function(a,b)返回值为a-b即为升序排列的细解
- JAVA 小易爱回文
- 服装办理erp体系的优点与选择
- java 判断图片否旋转,Java实现图片任意角度旋转
- 抖音复制微信号跳转微信的链接怎么生成的?
- dell中小企业商用台式机Vostro4667 win10家庭中文版重装成win7版
- 酷炫音画互动,编程无所不能| Jason Hou 在西瓜上海年会上的演出