2016-02-03 42 views
0

所以我也跟着「教程」在這裏:character_set_database不更新MySQL的

http://outofcontrol.ca/blog/comments/change-mysql-5.5-default-character-set-to-utf8 

而且這樣做後,在linux上mysql的5.7服務器及時更新,一切都顯示爲我所期望的。

,但我做了同樣的我的開發機,MacBook Pro的,埃爾卡皮坦上,我看到以下內容:

character_set_client  utf8 
character_set_connection utf8 
**character_set_database latin1** 
character_set_filesystem binary 
character_set_results  utf8 
character_set_server  utf8 
character_set_system  utf8 
character_sets_dir /usr/local/mysql-5.6.10-osx10.7-x86_64/share/charsets/ 

這是爲什麼還在處理latin1?其他條目更新到utf8,這在linux上工作。

回答

2

character_set_database實際上沒有用。不要擔心。

創建表時,明確規定

CREATE TABLE (...) ... CHARACTER SET utf8; 

,可以幫助你避免現在或將來可能發生的違約各種變化。

實際上,未來很可能是utf8mb4,排序規則爲utf8mb4_unicode_520_ci

只要你打算到5.7,你也可以去那個組合。 utf8mb4讓你可以使用表情符號和其他中文字符集;整理可以說是「更正確的」。

您給出的鏈接有點弱 - 它不能解釋如何轉換您擁有的任何數據。

現有表格是而不是通過更改您提到的設置進行更改。

那麼,整個畫面是什麼?你有現有的數據嗎?在utf8或latin1中?你在更新嗎?或傾銷和重新加載?等

+0

我傾銷和重新進口。阿拉伯字符不斷攪亂我的其他進程之一(原來我錯過了我的查詢中的一個條款,以保持它的英文)。所以我不必擔心現有的數據。 我給出的鏈接剛剛解釋了爲什麼我在使用如此多的關於utf8編碼的答案時出現了錯誤,而我仍然在使用?????爲所有阿拉伯字符。 –

+0

在http://stackoverflow.com/search?q=user:1766831%20question%20marks中查找「多個問號」 –