03_MySQL中文乱码处理_01_MySQl数据库字符集知识
【MySql数据库常见字符集介绍】
在互联网环境中,使用MySql时常用的字符集有:

【如何选择合适的字符集】
1.如果处理各种各样的文字,发布到不同语言的国家地区,应选Unicode字符集,对MySQL来说就是UTF-8(每个汉字3字节),如果应用需要处理英文,仅少量汉字使用UTF8更好(中英文混合)。
2.如果只需要支持中文,并且数据量很大,性能要求也较高,可选择GBK(定长:每个汉字占双字节,英文也占双字节),如果需要大量运算,如:比较排序,定长字符集,更快,性能更高。
3.处理移动互联网业务,可能需要utf8mb4字符集。
【查看当前MySQL系统支持的字符集】
使用“ show character set; ”来查看:

查看当前MySQL的字符集设置情况
使用" show variables like 'character_set%' "

| 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 | latin1 |---------服务器字符集,配置文件指定或建库建表指定
| character_set_system | utf8 |
【使用"set names ****"解决乱码问题】
我们先在MySQL默认创建的test数据库中建立一个"user"表

然后我们来为user表添加一些数据:

会发现,插入英文都正常,但是一旦插入中文会出现“ Incorrect string value:"\xD5\xC5\xC8\xFD" for column 'name' at row 1 ”的错误。
我们先查看一下其数据库test的字符编码,默认是Latin1编码的

再查看一下表user的字符编码:同样是latin编码

对应于数据库和表均为latin1编码的情况,如何可以插入中文数据呢?如下:

使用"set names latin1;"设置编码,然后插入中文字段即可。
接下来查询一下,关闭cmd,重新打开一个cmd重新登录,进行查询操作。

发现查询出来又是乱码,我们再处理一下,

于是可以得出,要根据被查询的数据库和表的本身的字符编码来进行对应的" set names **** "进行处理。
再来看看"set names ****"的具体作用:
先看下数据库test的默认情况下的字符集设置情况:

使用“set names utf8;” 再看下结果:

03_MySQL中文乱码处理_01_MySQl数据库字符集知识的更多相关文章
- 03_MySQL中文乱码处理_02_确保MySQL插入数据不乱码的解决方法
[要统一MySQL数据库客户端 和 服务端的字符集] 如下,就是不统一的情况: 通常,MySQL数据库的下面几个字符集(客户端 和 服务端)统一成一个字符集(即" show variable ...
- php mysql 中文乱码解决,数据库显示正常,php调用不正常
一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是 ...
- 解决JSP页面中文乱码插入到数据库的问题
在JSP页面使用表单注册一个用户名的时候,查看到数据库里面的表中文显示乱码的情况有两种: 1.JSP页面传进来的参数中文就是乱码,则是前台的问题,这个时候写一个过滤器就好了,可以写如下的一个过滤器 p ...
- linux修改配置文件解决mysql中文乱码和指定数据库存储引擎
如题,mysql数据库的中文显示乱码: 先看下原来数据库里的字符编码: mysql> show variables like '%character_set%'; +-------------- ...
- SpringMVC + mybatis + Druid insert 数据库中文乱码,查询无乱码
之前一直在pom文件配置的数据库连接url,很多配置都写在pom文件中导致配置文件太长 新项目将配置写到不同的文件夹中得properties文件中了 db.url直接复制的pom文件中的 p.p1 { ...
- 解决Linux下Oracle中文乱码的一些心得体会 ,转自
以下转自 http://blog.itpub.net/29151695/viewspace-1173238/ 最近在linux上安装完oracle 10gR2后,又遇到了字符集乱码的问题,之前在网上找 ...
- mysql 中文乱码
- PHP彻底解决mysql中文乱码
彻底解决mysql中文乱码 mysql是我们项目中非经常常使用的数据型数据库. 可是由于我们须要在数据库保存中文字符,所以经常遇到数据库乱码情况.以下就来介绍一下怎样彻底解决数据库中文乱码情况. 数据 ...
- MySQL 5.5版本解决中文乱码问题时my.ini内[mysqld]项中不能再写default-character-set=utf8
来看看如何解决乱码问题: 在mysql中默认字符集是latin1, 想要设置字符集为uft-8,可以在 my.cnf 文件中添加以下设置: [client] default-character-set ...
随机推荐
- JS实现的一个验证码,可以在前端验证后在提交action
js实现的一个验证码功能,可以在前端判断验证码输入是否正确 输入的邮箱格式是否正确 验证成功后才提交action到后台 <!DOCTYPE html PUBLIC "-//W3C//D ...
- POJ1155 - TELE(树形DP)
题目大意 电视台要直播一场比赛,电视网络刚好形成了一棵树,其中有M个为客户端,其他的为中转站,其中中转站与中转站以及中转站与客户端之间连接都需要一定费用,每个客户i愿意支付pay[i]元钱,问电视台在 ...
- Miller-Rabin素性测试(POJ3641)
一.概念引入 在以往判断一个数n是不是素数时,我们都是采用i从2到sqrt(n)能否整除n.如果能整除,则n是合数;否则是素数.但是该算法的时间复杂度为O(sqrt(n)),当n较大时,时间性能很差, ...
- Redis以及Redis的php扩展安装无错版
安装Redis 下载最新的 官网:http://redis.io/ 或者 http://code.google.com/p/redis/downloads/list 第一步:下载安装编译 #wge ...
- Fastjson反序列化泛型类型时候的一个问题
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.u ...
- IOS tableView 自定义cell 多行时 文字重复现象
今天写了一个demo,有一个问题,有很多cell,但是超过一页后往下翻,发现文字有重叠现象, cell用的是重用机制,按说不会这样,最终解决的方案: 勾选这个,clears graphics cont ...
- C# 算速表达式
public object ComputeExpression(string expression) { var result = new ...
- java 5 线程池
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Thr ...
- Sqlserver到处数据到Excel
转:http://www.cnblogs.com/litianfei/archive/2007/08/10/850823.html ) drop procedure [dbo].[p_exporttb ...
- Mac OS X 10.7下找不到~/Library/Application Support的解决方案
28二 最近有台机器升级到了Mac OS X 10.7,Finder的sidebar变了不说,连用户目录下的Library目录也不见了.但是Terminal中是有的,估计是被隐藏了.直接在Finder ...