最近在使用mysql.exe的時候遇到了一個問題,就是在輸入命令的時候,所有的字符都輸不上去。經過一番研究,發現是因為字符集的問題導致的。如果你也遇到了類似的問題,那么可以繼續看下去。
C:\>mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1183 Server version: 5.7.18-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>se;
觀察上面的代碼,可以看到在輸入"se;"的時候,其實只輸出了"s"。這說明mysql.exe沒有正確地解析輸入的字符集。那么我們應該如何解決這個問題呢?
其實,在使用mysql.exe之前,我們可以設置一個環境變量,來指定默認的字符集。具體的方法如下:
C:\>set mysql_opts=--default-character-set=utf8 C:\>mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1320 Server version: 5.7.18-log MySQL Community Server (GPL) mysql>se;
可以看到,在設置了環境變量之后,輸入字符就正常工作了。如果你還有其他的問題,可以到mysql官網上查找幫助文檔。
下一篇mysql.h連接池