您好,登錄后才能下訂單哦!
本篇內容介紹了“mysql亂碼的一些解決方法分享”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
新建了一個庫,默認編碼。再導入utf8編碼的表和數據。結果全是亂碼。改sql文件的編碼,還是不行。最后發現竟然是建庫的時候沒有設置utf8的編碼。于是乎有了如下的的記錄,問題得以解決。
建庫:
CREATE DATABASE `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
另記錄相關操作:
導入sql文件
-h localhost -u root -p mydbname < data.sql;
導出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;
最后,為了避免亂碼的出現應該做到:文件編碼+頁面編碼+數據庫編碼+應用服務器編碼+操作系統編碼統一。
“mysql亂碼的一些解決方法分享”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。