mysql编码设置
(2)安装mysql时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定这个值采用默认的;
(3)启动mysql时,可以在命令行参数中指定默认的的字符集,如果没指定则继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;
(4)当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;
(5)当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;
(6)在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;
(7)当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;
如果什么地方都不修改,那么所有的数据库的所有表的所有栏位的都用 latin1 存储。
二:mysql乱码原因:
mysql>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+、
mysql> show variables like 'collation%';(或者使用 >show variables like 'collation%';)
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-----------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-----------------------+
四:编码方式的修改
character_set_database 数据库的编码;
character_set_results 结果集的编码;
SET names utf8
SET character_set_connection ='utf8';
修改后可以解决大部分的编码问题。
还有一种最简单的修改方法,就是修改mysql的my.ini(linux系统为my.cnf)文件中的字符集键值,
在[client]下面加上
default-character-set = utf8
在[mysqld]下面加上
character_set_server = utf8
default-character-set = utf8
character-set-server = utf8
collation-server = latin1_swedish_ci
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect = 'SET NAMES utf8'
修改完后,重启mysql的服务,service mysql restart
五:避免创建数据库及表出现中文乱码和查看编码方法
1、创建数据库的时候:
CREATE DATABASE `datatest`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
2、建表的时候
CREATE TABLE `database_user` (
`id` varchar(40) NOT NULL default '',
`name` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE `test` CHANGE `name` `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;
mysql编码设置的更多相关文章
- mysql编码设置 [http://blog.knowsky.com/254652.htm]
MYSQL 2009-09-11 15:37 阅读73 评论1 字号: 大大 中中 小小mysql> SHOW VARIABLES LIKE 'character_set_%';+------- ...
- mysql 编码设置
(windows下) 打开C:\Program Files\MySQL\MySQL Server 5.0\my.ini (ubuntu下) 打开 /etc/mysql/my.cnf 在[client] ...
- ubuntu mysql编码设置5.5以后
安装了mysql. 版本:5.5.28 操作系统 :ubuntu 12.10 mysql> show variables like 'character%'; +---------------- ...
- MySQL修改编码设置及乱码问题
源地址:http://blog.csdn.net/millia/article/details/5806774 昨天尝试把自己用php编写的第一个糙站发布到网上..结果出现了因为编码不统一而导致乱 ...
- MySQL基础 - 编码设置
刚开始工作的时候,在工作中遇到的与数据库相关的问题,多半跟编码有关,总结一下数据库编码的设置. 字符集 查看数据库支持的字符集: mysql> SHOW CHARACTER SET; 从图中可以 ...
- 以Windows服务方式启动MySQL,并将其默认编码设置为UTF-8
系统环境:Windows XP Professional 版本 2002 Service Pack 3 // 第1步:创建选项文件.首先下载mysql-5.5.12-win32.zip,只需复制mys ...
- mysql utf8编码设置
1.建立数据库时指定数据库db_test为utf8编码.: create database db_test character set utf8; 修改数据库db_test编码的命令为: alter ...
- linux上设置mysql编码
linux下设置mysql编码 linux下设置mysql编码 首先查找MySql的cnf文件的位置: [root@flyHome gaoxiang]# find / -iname '*.cnf' - ...
- mysql的安装、C++訪问mysql数据库、编码设置问题
一.mysql的安装.这个相对简单,直接去官网下载mysql安装程序.就能够完毕安装过程,网上有非常多安装教程,这个没什么注意事项. 二.C++訪问mysql.主要是用到mysql定义的头文件,内部定 ...
随机推荐
- java中线程分两种,守护线程和用户线程。
java中线程分为两种类型:用户线程和守护线程. 通过Thread.setDaemon(false)设置为用户线程: 通过Thread.setDaemon(true)设置为守护线程. 如果不设置次属性 ...
- HDU 5047 Sawtooth(大数模拟)上海赛区网赛1006
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5047 解题报告:问一个“M”型可以把一个矩形的平面最多分割成多少块. 输入是有n个“M",现 ...
- Eclipse/MyEclipse 安装国际化资源文件编辑插件(i18n tools)
一.JInto 官网:http://www.guh-software.de/index_en.html http://www.guh-software.de/jinto_en.html 下载地址:ht ...
- Sqli-LABS通关笔录-18-审计SQL注入2-HTTP头注入
在此关卡我学习到了 1.只要跟数据库交互的多观察几遍.特别是对于http头这种类型的注入方式. 2. <?php //including the Mysql connect parameter ...
- OpenCV成长之路(6):数学形态学基本操作及其应用
数学形态学实际上可以理解为一种滤波行为,所以很多地方称它为形态学滤波.有了个这概念,我们就能更好的理解它.我们滤波中用的滤波器(kernel)在这里被称为结构元素,结构元素往往是由一个特殊的形状构成, ...
- Android碎片(Fragment)简述
碎片(Fragment)是一种可以嵌入活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因此碎片在平板上的应用非常广泛. 你可以将碎片理解成一个迷你型的活动,水平同样可能包含布局,同样都 ...
- dtw算法
dtw路径与线性变换路径对比 转自:http://baike.baidu.com/link?url=z4gFUEplOyqpgboea6My0mZP ...
- IntelliJ IDEA 常用快捷键列表及技巧大全
IntelliJ Idea 常用快捷键列表 Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和 ...
- Oracle中创建MD5方法
create or replace function MD5(passwd in varchar2) return varchar2 is retval ); begin retval := utl_ ...
- [转载]Python-第三方库requests详解
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...