mysql中文乱码解决方法
latin1(1和l的区别,l要么没有缺缺,要么缺缺是向左的直的; 1向左的缺缺是弯曲的,应该是可以看得出来的)是8位的字符集,表示英文和西欧字母.
瑞士: Switzerland [swits2land], 瑞士人(的): Swiss.
Swedish: 瑞典的.
collate: collation: 整理,校对; 排序规则
MySQL默认的校对规则是 :latin_swedish_ci, 为什么是瑞典的呢? 因为他的创始人 Monty 就是瑞典的。
mysql中查询等sql语句中的 通配符是 %. 在查询语句中可以使用 like 'latin1%'
mysql中show...的内容很多, 可以查看很多内容:
show character set;
show collation like 'latin1%';
character: 字符集, collation: 整理规则, 字符集中字符的"比较规则","排序规则"
latin类字符集,相当于latin语系,包括四种latin1, latin2, 5, 7四种字符集, 相当于东方语系包括中文, 日文, 韩文等字符集
字符集并不完全等同于整理规则, 仔细想想差别还是挺明显的. 而且同一个字符集可能有多个排序规则,如latin1 -> latin1_swedish_ci, latin_spanish_ci,...
因为一般很少指定collation,所以要指定一个 default collation.
ci: case insensitive 大小写不敏感
cs: case sensitive 大小写敏感
从 整理规则 可以知道 排序和比较的情况: 如utf8_general_ci: 表示字符集是utf8, 比较规则是general, ci是大小写不敏感,所以注册用户名和邮件地址时要使用, 如
A和a, mysql认为是相同的. 而utf8_bin: 表示字符集是utf8, 而比较排序时,按二进制存储和排序比较,则a和A是不同的. 也可以知道, 并不是所有的"整理"规则 都要
使用 ci.
show create table tablename; mysql显示 "数据表" 的 默认的字符集是latin1(注意不是utf8): ...default charset=latin1
show full columns from tablename; 可以查看各个字段的 整理规则;
最完整的现实字符集的命令是: status; 可以显示 默认的 windows平台下的 "服务器的字符集: latin1, db 字符集: latin1, connect字符集: gbk, client字符
集:gbk. "
也就是说, 从服务器,到数据库, 到表 都可以指定 "字符集", 而字段却不能指定字符集, 只能指定 "整理规则", (这个整理规则中就 可以认为 包含了 字段的字符集,
以及比较/排序 规则). 即使前3个层次的字符集默认的 都是 latin1, 但是 如果 字段的 "整理"为 gbk_chinese_ci的话, 也能正常显示中文.
mysql的版本是5.5.8-log, 其中的log表示开启了binlog功能, 有日志记录和日志管理功能.
5.0以后的mysql版本,采用bin二进制的日志格式. show master logs; 命令可以查看当前有哪些日志文件; set sql_log_bin=0/1; 用来关闭/打开日志功能;
mysqlbinlog 日志文件...; 显示查看日志.
日志文件: mysql-bin.index是日志文件 的清单; mysql-bin.000001, 是二进制文件,要用mydqlbinlog命令专门查看...
保证几个方面:
- mysql的server db table 的字符集应该一致,且与中文兼容(能显示中文,如gbk,gb2312,utf8, big5等等);
- 连接字符集同1, 包括: character_set_client = character_set_connection = charater_set_results = 兼容中文字符集之一; 可以用一个命令来解决: set names 'gbk/utf8/gb2312等', ===== set charset-names ...
- 表中的字段的 collation要设为 兼容中文之一, 且与1,2 相同.
当修改了 mysql服务器的1,2,后, 要重启mysqld 服务!!
如果这个还不行, 就考虑 编辑器的 编码字符集也同上1.
具体到上面的操作就是:
- insert命令后面要加上 into 关键字才行;
要设置服务器和数据库的字符集的命令是: set character_set_server='utf8' , 注意utf和8之间没有横线;set character_set_database='utf8'等等, 其他类似的变量都是同样的设置。 但是这个设置好像只能生效一次, 要长期生效?????????????、
- 创建时,要设置表的字符集, 命令是 default charset=utf8 , 这里注意是charset, 是character set两个单词的缩写, 不是两个 单词分开写的!
mysql中 查看字符集和collation的命令是:
show charater set; show collation, 但是你要注意, 这个是系统提供的、在系统中有的, 可以设置的字符集和校验, 但并不是当前server-db-table设置的字符集。
要查看当前机器上的数据库字符集, 要使用 show variables;
但是, show variables查看的是所有的 当前数据库系统正在运行的 变量包括字符集的设置, 所以,要查看其中某一些某一类的变量, 用like 来过滤, 如show variables like 'char%'...mysql的主配置命令, 是 etc下的 my.cnf, 注意是cnf, 不是config, 辅助配置文件目录是: /etc/my.cnf.d, 而他的数据等实体放在: /var/share/mysql中, 里面有很多的内容和东西...
mysql中文乱码解决方法的更多相关文章
- php mysql 中文乱码解决方法
本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...
- 可遇不可求的Question之导入mysql中文乱码解决方法篇
可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?
- mysql 中文乱码解决方法
最近在.NET 项目中用EF连接mysql,插入中文数据时老是显示乱码,在创建表时都已将编码指定了,但是还是出现乱码,折腾了一阵子才发现在连接字符串里面也要加上指定编码 Character Set=u ...
- 转载-MAC Mysql中文乱码解决方法
相关链接: http://www.siguoya.name/pc/home/article/235 如有,有问题可以留言.
- [转]mysql导入导出数据中文乱码解决方法小结
本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...
- Delphi+MySQL:TADOQuery使用插入中文乱码解决方法
Delphi+MySQL:TADOQuery使用插入中文乱码解决方法 with adoquery dobeginclose;sql.clear;sql.text:=' insert into test ...
- MySql数据库乱码解决方法
MySql数据库乱码解决方法 解决乱码问题一个原则:存取系统使用一致的编码规则. 多使用mysql的原生命令行,这样才能做更多的事情. 第一步: 确认应用系统需要使用的编码 java的默认编码是跟 ...
- jquery的ajax()函数传值中文乱码解决方法介绍
jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http: ...
- Zxing中文乱码解决方法
Zxing中文乱码解决方法总结 尝试过非常多方法 最后发现此方法解决的乱码最多....... 在百度搜索二维码图片 经过前2页的測试 除开一张图之外 其余都能扫描出结果 假设大家有更好的解决方法 ...
随机推荐
- 每天一个linux命令(2):cd命令
1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirName 3. 常用范例 3.1 例一:进入系统根目录 命令: cd / 输出: [root@localhost ~]# cd ...
- 关于安装ruby brew 提示失败
Error running 'requirements_osx_brew_update_system ruby-1.9.3-p551', showing last 15 lines of /Users ...
- MATLAB数字图像处理基础
图像的输入.输出和显示 1.图像的输入 imread('filename'), 实际中写的是 >> f = imread('sky.jpg'); 2.图像的显示 imshow ...
- android第一行代码-6.自定义控件的实现
0.假设一个应用中标题栏控件都是共用的,如果每个activity都需要设置button,绑定方法,那代码就会很臃肿.那我们可以自定义控件,然后继承这个控件就行了. 自定义控件为TitleLayout, ...
- JSPatch
链接: JSPatch github项目主页 JSPatch技术文档 JSPatch基础用法总结 JSPatch – 动态更新iOS APP JSPatch使用小记 end
- jsp response对象
所属接口:javax.servlet.http.HttpServletResponse,其父接口是ServletResponse,而且 ServletResponse也现在只有唯一一个HttpServ ...
- SQLite剖析之异步IO模式、共享缓存模式和解锁通知
1.异步I/O模式 通常,当SQLite写一个数据库文件时,会等待,直到写操作完成,然后控制返回到调用程序.相比于CPU操作,写文件系统是非常耗时的,这是一个性能瓶颈.异步I/O后端是SQLit ...
- 小记:目标数组的长度不够。请检查 destIndex 和长度以及数组的下限。
异常:System.ArgumentException: 目标数组的长度不够.请检查 destIndex 和长度以及数组的下限.(不好意思忘记截图了) 发生异常的代码如下: var list = ne ...
- Spring+EhCache缓存实例
一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider.Ehcache是一种广泛使用的开源Java分布式 ...
- offsetHeight, clientHeight与scrollHeight的区别
在网上搜了一下,结论非常笼统,讲IE从不讲版本,因此自己做了测试并上传结论.以下结论皆是在标准模式下测试通过的,没有测试quirk模式. clientHeight 大部分浏览器对 clientHe ...