- 浏览: 460154 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
mrshen:
很棒,在其他大神的博客上理清了思路看懂之后,来lz这里用例子学 ...
RED-BLACK(红黑)树的实现TreeMap源码阅读 -
a939639017:
yanf4j check不下来 ?
Java nio 2.0 AIO -
hellostory:
又是抄来的 - -
mysql分表方案 -
davidluoye:
为什么不说下支持的数据库呢?
模糊查询的优化 -
oliveevilo:
表示没看懂
Synchronized和java.util.concurrent.locks.Lock的区别
因为不知道什么时候的原因,我们有一个数据库
超级无赖的具有了无敌的特性:数据表的编码是Latin1-swXXXX什么的。而保存在里面的中文又是php
强制以utf8保存在其中。因此,出了各种乱七八糟的怪里怪气的毛病。让我等对于MySQL
这种数据库本就没有什么爱的人深感恶心。 因此,今日在研究之下终于解决此问题。再次说明,本文是把latin1转为utf8。 问题的核心还是在于要改变已有保存字符的混乱问题,最彻底和便捷的方法就是直接导出,然后再以对应所需的字符导入。 为了能够正确的导入,我们必须要确保导出的数据在你的文字编辑器下能够正常显示中文。对于我们这次的这个数据库,我们最终的导出语句是: view plaincopy to clip
boardPR
int? 导出后你就自觉的先看看中文显示正不正常吧,如果不正常就回去改个编码继续导。。。。 如果正常,继续: 现在要准备导入,但是导入的工作之前有个预备工作要做,如果你之前只导出一个表。那修改你导出的文件中的这一行: view plaincopy to clipboardprint? 成为 /*!40101 SET NAMES utf8 */; 如果不幸你导出的是整个有很多不同编码的数据表的数据库,ok。请使用替换工具把原来有的各种编码都替换成你要的目的编码。我这里原来有utf8和latin1,所以只需要把Latin1全部替换成utf8即可。 之后新建一个要导入数据的数据库: view plaincopy to clipboardprint? OK,现在可以导入数据表了: view plaincopy to clipboardprint? 这样,导回去以后世界就清静了。回顾以前,原来一直不大成功都是因为我们没有去修改.sql文件里面的那些编码设置。这次终于好了。这个破数据库,麻烦死了。我以后写程序绝对不用mysql了。。。。。 最后附带一些mysql操作字符集的时候会用到的命令,都是从网上收集的: view plaincopy to clipboardprint? alter database testdb default character set = gb2312; alter table ip_to_country default character set = gb2312; 3. 转换 MySQL 数据表字符集(mysql table character set) MySQL 中有一个数据表 ip_to_country,以前该表字符列数据都是以 utf8 编码格式存放的, 现在想转换为 gb2312 编码格式存放。需要使用 MySQL 转换字符集命令:convert to character set alter table ip_to_country convert to character set gb2312; 4. 转换 MySQL 数据表中某个列的字符集(mysql column character set) alter table ip_to_country modify country_name varchar(50) character set gb2312; 来自:http://www.sqlstudy.com/sql_article.php?id=2008082102
view plaincopy to clipboardprint?
/usr/local/mysql/bin/mysqldump -p --opt --default-character-set=latin1 sends> /home/test/sends.sql
/usr/local/mysql/bin/mysqldump -p --opt --default-character-set=latin1 sends> /home/test/sends.sql
/*!40101 SET NAMES latin1 */;
成为
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES latin1 */;
mysql> create database `TARGET_DB` default character set utf8 collate utf8_general_ci
mysql> create database `TARGET_DB` default character set utf8 collate utf8_general_ci
mysql -uroot -p TARGET_DB --default-character-set=utf8 < /home/test/sends.sql
mysql -uroot -p TARGET_DB --default-character-set=utf8 < /home/test/sends.sql
1. 修改 MySQL 数据库默认字符集(mysql database default character set)
alter database testdb default character set = gb2312;
2. 修改 MySQL 数据表默认字符集(mysql table default character set)
alter table ip_to_country default character set = gb2312;
注意:修改 MySQL 的默认字符集,不管是在数据库级别,还是数据表级别, 对已经存储的字符数据无任何改变。只是新增的表或列,开始使用新的 字符集。
3. 转换 MySQL 数据表字符集(mysql table character set)
MySQL 中有一个数据表 ip_to_country,以前该表字符列数据都是以 utf8 编码格式存放的, 现在想转换为 gb2312 编码格式存放。需要使用 MySQL 转换字符集命令:convert to character set
alter table ip_to_country convert to character set gb2312;
提示:convert to 也会把数据表 ip_to_country 的默认字符集从 utf8 更改为 gb2312。
4. 转换 MySQL 数据表中某个列的字符集(mysql column character set)
alter table ip_to_country modify country_name varchar(50) character set gb2312;
这个语句把单独一个列 country_name 的字符集转换为 gb2312。这在用法在实际中比较少见, 因为大多数情况下,都是改变整个表的字符集。
来自:http://www.sqlstudy.com/sql_article.php?id=2008082102
1. 修改 MySQL 数据库默认字符集(mysql database default character set)
2. 修改 MySQL 数据表默认字符集(mysql table default character set)
注意:修改 MySQL 的默认字符集,不管是在数据库级别,还是数据表级别, 对已经存储的字符数据无任何改变。只是新增的表或列,开始使用新的 字符集。
提示:convert to 也会把数据表 ip_to_country 的默认字符集从 utf8 更改为 gb2312。
这个语句把单独一个列 country_name 的字符集转换为 gb2312。这在用法在实际中比较少见, 因为大多数情况下,都是改变整个表的字符集。
创建一个名为test的数据库,并且设置字符集都是utf8:
create database `test` default character set utf8 collate utf8_general_ci
查看ta数据库中类似test的数据表的信息:
show table status from ta like '%test%';
查看 MySQL 数据库服务器和数据库字符集。
show variables like '%char%';
+--------------------------+-------------------------------------+------
| 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 | utf8 |...... -- 服务器字符集
| character_set_system | utf8 |......
| character_sets_dir | D:\MySQL Server 5.0\share\charsets\ |......
查看 MySQL 数据表(table) 的字符集。
show table status from sqlstudy_db like '%countries%';
+-----------+--------+---------+------------+------+-----------------+------
| Name | Engine | Version | Row_format | Rows | Collation |......
+-----------+--------+---------+------------+------+-----------------+------
| countries | InnoDB | 10 | Compact | 11 | utf8_general_ci |......
查看 MySQL 数据列(column)的字符集。
show full columns from countries;
+----------------------+-------------+-----------------+--------
| Field | Type | Collation | .......
+----------------------+-------------+-----------------+--------
| countries_id | int(11) | NULL | .......
| countries_name | varchar(64) | utf8_general_ci | .......
| countries_iso_code_2 | char(2) | utf8_general_ci | .......
| countries_iso_code_3 | char(3) | utf8_general_ci | .......
| address_format_id | int(11) | NULL | .......
查看当前安装的 MySQL 所支持的字符集。
show charset; 或
show char set;
+----------+-----------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
| dec8 | DEC West European | dec8_swedish_ci | 1 |
| cp850 | DOS West European | cp850_general_ci | 1 |
| hp8 | HP West European | hp8_english_ci | 1 |
| koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
| latin1 | cp1252 West European | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
| swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
| ascii | US ASCII | ascii_general_ci | 1 |
| ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
| sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
| hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
| tis620 | TIS620 Thai | tis620_thai_ci | 1 |
| euckr | EUC-KR Korean | euckr_korean_ci | 2 |
| koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
| gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
| greek | ISO 8859-7 Greek | greek_general_ci | 1 |
| cp1250 | Windows Central European | cp1250_general_ci | 1 |
| gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
| utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
| ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
| cp866 | DOS Russian | cp866_general_ci | 1 |
| keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
| macce | Mac Central European | macce_general_ci | 1 |
| macroman | Mac West European | macroman_general_ci | 1 |
| cp852 | DOS Central European | cp852_general_ci | 1 |
| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
| cp1256 | Windows Arabic | cp1256_general_ci | 1 |
| cp1257 | Windows Baltic | cp1257_general_ci | 1 |
| binary | Binary pseudo charset | binary | 1 |
| geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
| cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
修改表和字段的字符集
//修改表
alter table 表名 convert to character set gbk;
//修改字段
alter table 表名 modify column '字段名' varchar(30) character set gbk not null;
发表评论
-
navicat快捷键
2013-01-05 09:47 13421.ctrl+q 打开查询窗口2.ctrl ... -
mysql分表方案
2012-09-05 22:29 9022一、 概述分表是个目前算是比较炒的比较流行的概念,特别是在 ... -
mysql扩展至分库分表
2012-09-05 21:47 4002MySQL互联网Oracle企业应 ... -
批量修改SEQUENCE,序列同时增加10000
2012-06-26 16:40 1598select 'alter sequence ' || t1. ... -
oracle执行计划
2011-08-23 14:13 1083本文全面详细介绍oracle执行计划的相关的概念,访问数据 ... -
Oracle分页,Oracle中rownum与rowid的理解
2011-08-15 21:33 1842一、 oracle ... -
oracle--如何分析执行计划
2011-08-15 21:31 4219例1: 假设LARGE_TABLE ... -
Oracle优化----索引原理篇
2011-08-15 21:22 9602006-04-04 15:09 1561人阅读 评论(0) ... -
ORACLE执行计划
2011-06-22 17:27 14471 ,什么是执行计划 所谓执行计划,顾名思义,就是对一 ... -
ORACLE用户管理
2011-04-22 14:40 1363这里将介绍Oracle修改用户权限的实现过程,包括一些权限管 ... -
数据库表设计细节
2011-04-11 22:48 1929数据库建表原则 数据 ... -
数据库设计的14个技巧
2011-04-11 22:19 9751. 原始单据与实体之间的关系 可以是一对一、一对多、多对 ... -
ORACLE xmltype 遍历
2011-03-14 16:05 1952DECLARE var XMLType; ... -
ORACLE EXCEPTION总结
2011-03-14 14:53 1371文章分类:数据库 关键字: oracle 一 ORACLE ... -
Oracle存储过程解析XML,并把数据持久化
2011-03-14 14:52 1873需要解析的xml文件:people.xml 1 < ... -
oracle对大对象类型操作:blob,clob,nclob,bfile
2011-03-14 14:49 17913-4 Lob类型 ... -
impdp expdp使用小结
2011-03-11 17:29 2258\ 最近我们迁移数据库,其中涉及到了数据迁移 sql ... -
oracle表空间限额不足问题解决
2011-03-11 16:37 1260web程序访问数据库是,总是报 表空间“hnsd”限额不 ... -
ORACLE JOB
2011-03-11 15:56 1141、设置初始化参数 job_qu ... -
利用oracle快照dblink解决数据库表同步问题
2011-03-11 13:55 1376本实例已完全通过测试, ...
相关推荐
asp连接mysql字符串,使用odbc 3.51
设置mysql字符集 mysql 乱码
亲测可用,mysql字符串相似度匹配函数。下载后直接在mysql中可以测试运行。
查看mysql字符集MySQL 乱码的根源是的 MySQL 字符
mysql 字符集 转换
MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作
linux修改mysql字符集 linux修改mysql字符集
linux下设置mysql字符集为UTF-8以及mysql重启
mysql字符集查看以及修改
Linux下修改MySQL字符集 1.查找MySQL的cnf文件的位置 find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/...
MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat('10'); +--------------+ | concat('10') | +--------------+ | 10 | +--------------+ 1 row in set (0.00 sec) mysql> select concat('11'...
mysql字符串比较函数:concat和regexp.pdf
mysql数据库,表 ,字段的字符集设置
Mysql字符集
163、一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。解决方法是在发送查询前执行一下下面这句:
关于MySQL字符集查看与修改; MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation)。 MySQL对于字符集的支持细化到四个层次: 服务器(server),数据库(database),...
精通MySQL字符集与校对集,再也不会为乱码而心烦意乱了
设定mysql字符集解决终端乱码设定mysql字符集解决终端乱码
mysql数据库互相转换及同步工具-MySQL_MySQL字符集互转
mysql字符集和校对集