mysql 的字符编码
=== 稍后再整理
mysql
4.0到mysql
5.0的数据导入出现乱码的解决方案
字体大小:大
| 中
| 小
2007-02-08 17:09 -
阅读:485 - 评论
:0
最近做mysql
4.0到mysql
5.0的数据转化工作,发现乱码
无数,观博客无数心得如下:
*mysql
中文亂碼的原因
mysql
會出現中文亂碼的原因不外乎下列幾點:
-mysql
server本身設定問題,例如還停留在 latin1
-mysql
table 的語系設定問題(包含 character 與 collation)
-客戶端程式(例如 php) 的連線語系設定問題
这是由于 mysql
5.0默认是lantin瑞典语系,因此在mysql
4.0导出的sql文件里面需要加入DEFAULT CHARSET
=utf8 collate
utf8_unicode_ci
例如:
CREATE TABLE IF NOT EXISTS `user_right` (
`user_right_id` int(11) NOT NULL auto_increment,
`user_id` varchar(11) default NULL,
`right_id` varchar(11) default NULL,
PRIMARY KEY (`user_right_id`)
) TYPE=MyISAM DEFAULT CHARSET
=utf8 collate
utf8_unicode_ci
AUTO_INCREMENT=11 ;
然后在php连接数据库最初执行"SET NAMES 'utf8'";
问题解决!以上针对utf8编码的数据库,毕竟是趋势嘛,其它编码有待稍空的时候研究
相关文档:
solaris下mysql安装完毕后执行如下操作,可以修改数据库字符集,设置MySQL在Solaris上表名不区分大小写
1.拷贝文件如下:
cp /usr/sfw/share/mysql/my-medium.cnf /etc/my.cnf
把文件只读属性去掉
chmod +w my.cnf
2 设置mysql的字符集:在/etc/my.cnf中的mysqld段和client段加入代码:
[client]
de ......
很久没有用Mysql了,发现小小的时间问题也遇到不少麻烦,呵呵
所以总结一下:
第一种:
Date time= new java.sql.Date(new java.util.Date().getTime());
第二种:
java 用PreparedStatement来setDate,用问号的形式给日期问号赋值
pstmt.setTimestamp(8, new Timestamp(System.currentTimeMillis()));
pst ......
首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数。 方法二使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个 ......
6
、修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
6
、创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;
通过配置文件设置创建数据库时字符集:
#vi /var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-col ......
用了MYSQL一年多,且一直被MYSQL的快速查询所吸引,可今天怎么碰石头了?
1Dp4V*W+t0
3p)o{3s.a'^Qr0
原来就是索引在做怪。由于本人是业余爱好自学PHP+MYSQL开发,所以在理论优化方面一般考虑甚少,基本不用字段索引去做MYSQL优化,可能也是我不会用吧。(总看书上说索引的好处好处的,今天着实尝到甜头了。)PHPChi ......