0
當我將數據插入到我的MySQL數據庫時,出現了一些奇怪的符號。MySQL中奇怪的字符
該表設置爲使用UTF8_bin。這些符號就像
Landon?ÇÖs
?ÇÖ應該是一個'
。
我傳遞的所有行的MySQL表從一個腳本,像這樣:
insert = ("INSERT INTO #{event.split(" : ")[0]} (`Date`, `Start`, `End`, `Location`, `Details`, `Map`) VALUES (#{event.split(" : ")[1]});").to_s
client = Mysql2::Client.new(:host => "hostInfo", :username => "usName", :password =>"usPass", :database => "dbName")
client.query(insert)
client.close
而且我現在用的是mysql2寶石連接和信息傳遞到數據庫中。
我做了一些挖掘,我得到了控制檯給我這個輸出,試圖用不同的字符替換特殊字符。這是控制檯輸出不兼容字符編碼的錯誤消息:IBM437和UTF-8
(Encoding :: CompatibilityError)
表可能是utf8。那麼ruby-> db連接呢?那麼ruby->輸出環境呢?如果你把它轉儲到一個(比如說)iso8859顯示系統中,這對你的utf8文本沒有幫助。 –
Marc,數據庫連接僅使用默認編碼設置。我不是100%確定輸出編碼是什麼,但是正在處理的信息沒有被顯示,用戶只能在控制檯端看到。 –
所以chars在表格本身顯示'?Ç'?確保無論是插入數據最初是否正確。整個處理鏈必須始終保持相同的字符集,或在「邊界」處有適當的轉換邏輯。 –