首頁 > 資料庫 > mysql教程 > 关于mysql乱码的一些解决方法_MySQL

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

WBOY
發布: 2016-06-01 13:43:17
原創
1126 人瀏覽過

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
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板