今兒說說MySQL。 mysql
安裝部分這裏就略過了,網上有許多,我並無安裝startup item,因此開機MySQL不會自啓動,須要用mysqld_safe來啓動,這裏主要說說中文字符集的事情。 web
mysql裝好後,發現中文字符是亂碼,首先想到的是客戶端字符集的問題,確認是UTF-8,又想到是服務器端字符集,鏈接mysql後(mysql -u root -p) sql
windows
上圖是我修改過以後的截屏,默認安裝應該是Ascii(在windows上安裝時,有單獨的字符集選擇環節,因此通常不會有這個問題),須要經過set命令修改,一般須要將character_set_database和character_set_server改成utf8。 服務器
心想此次沒問題了,使用客戶端工具鏈接後,讀寫中文都沒問題,但使用web application寫入中文還是亂碼,這就有些搞不懂了。仔細想一想,客戶端IO沒問題,而appliaction出問題,那必定是出在jdbc驅動上,而後試着在jdbc driver的url上,加入characterEncoding=utf8的參數,果真好了。 app
這實際上是我編碼的一個很差的習慣,不論什麼樣的運行環境,在jdbc driver的url上加入字符集的顯式約定參數都是好習慣,我猜測:應爲咱們使用的中文版windows操做系統自己的字體集就是中文的,因此jdbc驅動不約定也會是默認中文,而mac os可能不是這樣,即使是中文版的操做系統,其鏈接字符集也不是中文的,因此會有此類問題。 工具
但願對你有用。 字體