2013-10-24 48 views
1

我使用多種語言的utf8字符串運行sqlite3數據庫。由於各種原因,我想遷移到MySQL,但由於mysql整理功能,我經常遇到麻煩。運行沒有排序規則的mysql(僅適用於utf-8)

一個問題是,我甚至無法可靠地知道我的數據庫中有什麼。 (例如,我爲非拉丁字符獲取「?」,對於像拉丁等基於拉丁字符的「 」 - 但我完全不知道問題在於從sqlite3導入到mysql還是從mysql-database。)

有沒有辦法擺脫這個「功能」,並讓MySQL做我所告訴它,而不要試圖變得聰明?我在任何地方都使用UTF-8,並且我從不需要對字符串進行任何修改:輸入始終是UTF-8,輸出應始終爲UTF-8。另外我真的很想知道究竟是什麼被存儲在數據庫中 - 即沒有校對功能在讀出期間破壞數據。

回答

0

您可以使用MySQL列的類型,它存儲任意字節的序列,但不將它們解釋爲任何特定的字符集(或可能爲VARCHAR BINARY,即subtly different)。