引言
在 mysql 8 之前的版本中,mysql 的預設字符集一直是 latin1,這種預設的字符集編碼方式是不支援中文的,可以說這對於使用漢語的中國程式設計師來說很不友好。雖然可以通過修改字符集編碼方式為 utf-8 來支援中文,但是需要在很多地方修改字符集編碼是一件讓人心煩的事情,一旦忘記修改就會出現討厭的中文亂碼問題。
好訊息是 mysql 8 終於將該死的預設的字符集編碼方式 latin1 設定為 utf-8,這算是對中國程式設計師做了一件好事。
檢視 mysql 字串編碼方式
開啟 cmd 視窗,輸入 mysql 登入命令啟動 mysql 客戶端
mysql -uroot -p123456
檢視字符集編碼
mysql> show variables like 'collation_%';
| variable_name | value |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
3 rows in set, 1 warning (0.01 sec)
mysql> show variables like 'character_set%';
| 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 | e:\program files (x86)\mysql-8.0.22\share\charsets\ |
8 rows in set, 1 warning (0.11 sec)
預設是 latin1 編碼,會導致中文亂碼。
修改字符集編碼
修改資料庫的編碼
mysql> alter database 資料庫名 character set utf8;
修改資料庫表的編碼
mysql> alter table 表名 convert to character set utf8 collate utf8_general_ci;
修改配置檔案字符集編碼
開啟 mysql 的 my.ini 配置檔案,修改如下:
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character_set_server=utf8
init_connect='set names utf8'
重啟 mysql,這樣可以確保 mysql 預設字符集編碼方式是 utf8
mysq比較時間
在oracle中使用時間函式to date習慣了,在oracle中時間的加減也非常簡單,直接加減即可。在mysql中時間的函式很多,非常自由。在專案中經常用到的就是時間的加減。比如60天前,oracle中直接就是sysdate 60,mysql中就不行。對時間加減的函式是 加adddate 減sub...
mysq中文編碼格式
1 修改資料庫編碼格式 mysql set names utf8 改變資料庫伺服器和客戶端的字符集 mysql alter database mydb character set utf8 更改庫字符集 2 連線字串中指定編碼 useunicode true characterencoding ut...
mysql時間函式中文 Mysql的時間函式
1.本週內的第幾天,從週日開始 mysql select dayofweek 2015 05 25 dayofweek 2015 05 25 2 1 row in set 0.00 sec 2.本月內的第幾天 mysql select dayofmonth 2015 05 25 dayofmonth...