您好,欢迎访问一九零五行业门户网

关于mysql乱码的一些解决方法_MySQL

bitscn.com
新建了一个库,默认编码。再导入utf8编码的表和数据。结果全是乱码。改sql文件的编码,还是不行。最后发现竟然是建库的时候没有设置utf8的编码。于是乎有了如下的的记录,问题得以解决。
建库:
    create database `mydb` default character set utf8 collate utf8_general_ci;
另记录相关数据库操作:
导入sql文件
    mysql -h localhost -u root -p mydbname
导出sql
    mysqldump -h localhost -u root -p --default-character-set=utf8 mydbname > data.sql;
建表:
    drop table if exists `mytablename`;
    set @saved_cs_client = @@character_set_client;
    set character_set_client = utf8;
    create table `mytablename` (
    `id` int(10) unsigned not null auto_increment,
    `int10` int(10) unsigned not null,
    `char2` char(2),
    `varchar100` varchar(100) not null,
    primary key (`id`)
    ) engine=myisam auto_increment=1 default charset=utf8;
    set character_set_client = @saved_cs_client;
插入数据:
    lock tables `mytablename` write;
    insert into `mytablename` (`id`,`int10`,`char2`,`varchar100`) values (1,123456,ab,adsfsadf);
    unlock tables;
创建用户(设权限,密码)
    grant all privileges on *.* to 'user'@'localhost' identified by '123456′;
    grant all privileges on *.* to 'user'@'127.0.0.1′ identified by '123456′;
all privileges 为所有权限,可选:select,insert,update,delete,create,drop等
*.* 表示:某个库.某个表
localhost为只能在本地登录,若为任意地点设为: %
修改密码:
    mysqladmin -u root -p password 456789
查看所有用户:
    select host,user from mysql.user;
最后,为了避免乱码的出现应该做到:文件编码+页面编码+数据库编码+应用服务器编码+操作系统编码统一。
作者 空云万里晴
bitscn.com
其它类似信息

推荐信息