【他山之石】mysql编码问题总结】的更多相关文章

有些问题可能比较基础,但是没有经过系统学习还是可能会出错,记录下. 这次是mysql的编码问题. 背景是部署新的测试环境,给了一台服务器还有在另一个环境下的mysql,配置过程中发现mysql编码有问题,查看结果如下 发现character_set_client和character_set_connection以及character_set_results都是latin1(也就是iso-8859-1),这显然不行.于是想到修改数据库服务器上的my.cnf文件,在[client]下增加了一行 de…
Mysql编码问题  在php页面可以向mysql插入英文字符,但就是不能插入中文字符,在cmd客户端也可从插入,这是困扰我两天的问题. 在网上找了很多资料,最终确定了是字符编码这个地方出现了问题,首先要想通过php页面向mysql数据库插入中文字符,则必须要文件编码.代码的编码和mysql的编码保持一致性,我当前用的编码是utf-8,所以设置了文件的默认编码为utf-8之后,还会在每个php页面上加上 header("content-type:text/html;charset=utf-8&q…
Mysq版本:5.7.21 操作系统:Linux(Ubuntu) 整个操作的基本思路如下(包括问题的解决思路,想要直接解决问题的可以先看最后的命令总结) 检查mysql编码 找到Mysql的配置文件 修改配置文件 重启Mysql服务 1.检查mysql编码 在mysql控制台输入:show variables like 'character_set_%'; 如果不是如下图显示,那就需要修改Mysql的编码了 2.找到Mysql配置文件 Ubuntu下Mysql的配置文件是 /etc/mysql/…
php mysql 编码问题 问题: PHP从数据库中读取数据,并echo出来,数据中文显示正常:但是echo出新定义的中文字符串,新定义的字符串会乱码. 由此可能是数据库中提取出来的中文编码和php的输出编码不一样. 操作: 在head中添加<meta charset="UTF-8">,定义页面编码. 问题: PHP本身输出的中文编码正确了,但是从数据库中提取出来的中文编码错了. 由此可见,数据库提取出来的中文编码是可辨认的,在数据库中直接查询,也不会乱码.之后的乱码是因…
linux下设置mysql编码 linux下设置mysql编码 首先查找MySql的cnf文件的位置: [root@flyHome gaoxiang]# find / -iname '*.cnf' -print/etc/pki/tls/openssl.cnf/etc/my.cnf/usr/share/openvpn/easy-rsa/2.0/openssl-0.9.6.cnf/usr/share/openvpn/easy-rsa/2.0/openssl.cnf/usr/share/openvpn…
知识点一:MySQL编码设定(1-2) 服务器编码设定: 查看MySQL服务器端的编码格式: SHOW VARIABLES LIKE ‘char%’; 设定编码格式: SET NAMES ‘utf8’; 数据库编码设定: 更改数据库表的编码格式: ALTER TABLE tbl_name CHARACTER SET utf8; 数据表列的编码设定: 更改数据表列的编码格式: ALTER TABLE tbl_name CHANGE 列名 新列名 类型 约束条件; 解决多张拥有数据的表的字符编码问题…
1 查看MySQL编码 SHOW VARIABLES LIKE 'char%';…
配置mysql 编码 [client]default-character-set=utf8mb4 default-storage-engine=INNODB [mysql]default-character-set=utf8mb4 [mysqld]lower_case_table_names = 2character-set-server=utf8mb4event_scheduler=ON 查看当前编码配置: show variables like '%char%'; lower_case_ta…
mac mysql 编码配置 (mysql目录下没有my.cnf) 想要修改编码发现自己的/usr/local/mysql/support-files里面根本没有my.cnf 安装方式是去mysql官网下了5.7一步一步直接安装的. 关闭mysql的服务 在系统偏好里面stop mysql server 直接新建一个my.cnf 在/etc MacBook-Pro:etc searlas$ cd /etcMacBook-Pro:etc searlas$ sudo vi my.cnf 写入内容:…
一:mysql字符集 mysql的字符集支持(Character Set Support)有两个类型:字符集(Character set)和连接校对(Collation).对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection).mysql对于字符集的指定可以细化到一个数据库,一张表,一列.一般的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置 (1)编译mysql时,默认的字符集是 lati…
编码查看方式以及解释说明: 需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:  >show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +----------------------…
在做计量泵上位机时,利用MYSQL存储数据,建表hisruninfo(计量泵历史运行数据表). 表格式为utf8,查过数据库 格式 同样为utf8 导入该hisruninfo.sql文件时,并没有报错,表能建起来,但是,导入另外一个插入数据的data1.sql文件时,报错--中文字符不能识别. 插入内容并没有错 后来是将data1.sql 另存为.sql 文件时,编码方式该位 utf8  之后就能导入!  导入.sql文件 命令:source…
在开发程序的时候,我们使用mysql数据库开发的时候,有时会碰到自己明明输入的是中文,为什么数据库中存储的就是???? 1.在配置Connection URL时,加上?useUnicode=true&characterEncoding=utf-8 2.编辑/etc/my.cnf 在[mysqld]下添加 default-character-set=utf8 在[client]下添加 default-character-set=utf8   可是这样做的原理是什么?为什么这样做就能解决问题那? 逐…
有时候因为编码需要修改mysql的编码,windows下修改有图文界面简单一些,linux大家就可以参考下面的方法   默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值. mysql> show variables like '%character%'; 说明:以下是在CentOS-6.2下的设置  (不同的版本可能有些差异,比如文件的位置.但设置的内容应该是一样的) 1. 找到mysql的配置文件,拷贝到etc目录下,第一步很重要 把/usr/share/doc…
show variables like 'character%'; 通过以上命令可以查询编码情况, 不过,在安装的时候,建议选择‘gbk’这类中文编码, 如果选择的是utf8,则在处理的过程中需要进行转换,比较麻烦.原因是,我们的操作系统,如window中,默认编码是gbk,这样,虽然mysql中使用的都是utf8,可能控制台可能不统一,可能出现乱码.…
由于项目有需要支持表情包输入数据库,自己做了一下技术测试,修改了my.cnf的权限为777.结果就操蛋了.编码错误.... 直到我无意地输入mysql -h,提示我/etc/my.cnf被忽略的一段话 好吧,这才发现是我自己坑了自己,然后重新 chmod 644 /etc/my.cnf 重启mysql,编码正常了..... 好吧,被自己蠢哭了…
(windows下) 打开C:\Program Files\MySQL\MySQL Server 5.0\my.ini (ubuntu下) 打开 /etc/mysql/my.cnf 在[client]下面寻找default-character-set,然后将其值修改为:default-character-set=utf8若找不到default-character-set,加上上面一行即可. [mysqld]同理:character_set_server=utf8 init_connect='SE…
MYSQL 2009-09-11 15:37 阅读73 评论1 字号: 大大 中中 小小mysql> SHOW VARIABLES LIKE 'character_set_%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client…
最近在centos6.5下部署web项目时网页出现中文乱码的问题,在排除掉php之后,把问题锁定在mysql的编码方式上. 解决方法如下: 首先进入mysql命令行,输入命令:SHOW VARIABLES LIKE ‘character_set_%’,会出现下面这些信息 +--------------------------+----------------------------+| Variable_name            | Value                      |…
有时候insert数据的时候,会报以下异常: ERROR 1366 (HY000): Incorrect string value: '\xE6\x9D\x83\xE9\x99\x90...' for column 'display_name' at row 1mysql> show variables like 'char%'; 解决思路: 1.检查数据库编码 show variables like 'char%'; 2. 检查表的编码:show create table 表名 mysql>…
默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值. mysql> show variables like '%character%';   说明:以下是在CentOS-6.2下的设置  (不同的版本可能有些差异,比如文件的位置.但设置的内容应该是一样的)  1. 找到mysql的配置文件,拷贝到etc目录下,第一步很重要 把/usr/share/doc/mysql-server-5.1.52/my-large.cnf 复制到 /etc/my.cnf 即用命令:cp…
升级数据库后(5.1到8.0),发现一个奇怪的问题,某些页面在升级前可以正常查询,但升级后什么也查不出来了,有时候还会查出错误的结果.经过一整天的排查,终于发现由两个原因导致,现记录如下. 第一是数据库的编码.使用中文关键字查不出结果(或结果错误),但是英文关键字可以正常查询. 还原数据库后默认的编码不是utf-8.执行下面命令可以查看当前数据库编码. show variables like 'collation%'; 或者 show variables like '%character%';…
云服务器环境:CentOS 7.4 因为服务器配置较低,故使用MySQL5.5 未进行设置前 1.查看字符编码: mysql> show variables like '%character%'; 或 mysql> show variables like 'character_set_%'; 结果: 2.对应修改 2.1可通过命令行设置: set character_set_client = utf8; set character_set_server = utf8; set characte…
MySql 5.5 之前,UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区,BMP是从哪到哪?基本就是 0000 ~ FFFF 这一区. 从MySQL 5.5 开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,所以能支持更多的字符集. utf8mb4 is a superset of utf8 tf8mb4兼容utf8,且比utf8能表示更多的字符. 至于什么时候用,看你做的什么项目了...在做移动应用时,会遇到IOS用户在文本的区域输入emoji表…
占个坑. 今天在向本机搭建的MySQL数据库插入中文的时候报错了. 使用 show variables like 'char%'; 及 show variables like 'collation%'; 发现许多项是latin.意识到是配置文件的问题. 去找配置文件的时候,竟然没找到配置文件(记得以前配置过的,难道删了?).然后看 mysql.server 这个脚本,发现my.cnf 配置文件除了可以放到 /etc 下之外还可以放到用户的家目录,还可以放到安装的位置 /usr/local/mys…
1.以root用户的身份登录,查看编码设置 mysql> SHOW VARIABLES LIKE 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character…
1.问题描述 2.解决方案 1.问题描述 当使用django时,如果数据库是MySQL,插入中文会报错: Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1 2.解决方案 将已经建好的库和表转成utf8mb4 使用如下命令: 更改数据库编码:alter database DATABASE_NAME character set utf8mb4 collate utf8mb4_general_ci; 更改数据表编码:alte…
第一种:     通过mysql命令行修改: 1)首先查看数据库字符编码,命令为: show variables like’collation_%’; show variables like’character_set_%’; 2)在命令行修改字符编码(例如gb3212) set character_set_client=gb2312;客户端编码方式 set character_set_connection= gb2312;建立连接使用的编码 set character_set_database…
一.启动问题 计算机------管理------服务------找到MySql------右键------启动或停止 问题:打开Mysql,点击 MySQL Command Line Client,输入密码后,窗口闪了一下就退出,退出的时候隐约看到了ERROR提示. 解决:首先想到的是密码错误,但是在核对了密码之后就可排除这种可能性. 有可能是电脑上的MYSQL服务没有开启导致的.所以按照上述步骤启动即可. 二.编码问题 解决Eclipse和MySql Command Line Client 乱…
Mysql中文乱码问题完美解决方案 修改查看MYSQL字符集(charset) MySQL 乱码之我见 10分钟学会理解和解决MySQL乱码问题 /etc/mysql/my.cnf /etc/init.d/mysql stop /etc/init.d/mysql start [client] default-character-set = utf8 [mysqld] character-set-server = utf8 init_connect = 'SET NAMES utf8' [mysq…