2017-04-20 82 views
0

我有一個mysql-front和一個由以前的同事/合作伙伴設置的數據庫,我對管理數據庫幾乎一無所知。åäö變身Ã¥Ã和初學者mysqlfront(unicode,拉丁語和瑞典語)?

多年來,它與åäö很好地工作,但後來我的網站酒店移動了數據庫多次,我認爲這是成千上萬的åä和ö開始看起來像åà ö在mysqlfront和網站上查看時都是如此。另外ü和其他特殊字符顯示錯誤。如果我(編輯:右鍵單擊對象瀏覽器中的一列,它說:「charachter設置拉丁1和整理拉丁1_swedish_ci無論這意味着什麼)我(不明智地)改變了另一列Swe7瑞典語,它搞砸了特定列更多並將所有åä和ö轉換爲??,??和??,以便列可以永久丟失,我猜是什麼?

有什麼我可以做的將數據庫的其餘部分恢復爲åä和ö的方式,誰很少知道一個人能做到這一點解釋呢?

謝謝。

+0

'latin1'肯定不是一個Unicode的編碼。 – zerkms

+0

好的。我不知道拉丁變化是如何發生的,但有沒有辦法讓它恢復? – David

+0

希望你有備份。您將需要爲所有表和列設置排序規則爲utf8_unicode_ci。但是,如果角色信息丟失了,您可能無法恢復它。在嘗試任何操作之前進行備份,並將列更改爲該編碼以查看它是否有效。如果沒有,請恢復備份。 –

回答

0

變爲亂碼。羅好的那個詞here

  • 要存儲的字節需要使用UTF-8編碼。解決這個問題。
  • 連接時INSERTingSELECTing文本需要指定utf8或utf8mb4。解決這個問題。
  • 該列需要聲明CHARACTER SET utf8(或utf8mb4)。解決這個問題。
  • HTML應以<meta charset=UTF-8>開頭。

如果數據需要修復,請參閱this

請提供SHOW CREATE TABLE和連接參數和SELECT HEX(col)...

å在HEX是

E5 for latin1 
C3A5 for utf8 (or utf8mb4) 
C383C2A5 for "double encoding" 
+0

謝謝,我真的很感謝答案。然而,我對mysqlfront有着非常基本的經驗,基本上只是在四處漫遊和改變文本,並通過試驗和錯誤添加列,所以我不在我已經知道如何去做你說的事情的水平。我會盡快學習或嘗試僱用我可以信任的網絡問題,並讓他們看起來如此。 – David

+0

@大衛 - 如果有任何安慰,即使是專業人士,字符集也會出現問題。祝你好運。 –

相關問題