我有csv文件,java應用程序和數據庫,我從我的java應用程序讀取csv文件, 經過一些操作後,我一個接一個地插入文件到數據庫中,但是沒有插入像ŠĐŽĆČ這樣的字符正確。我將數據庫設置爲utf-8默認排序。我知道,通過測試,當我用ANSI編碼設置文件時,一切正常(ŠĐŽĆČ已正確插入數據庫),但編碼時UTF-8字符未正確插入。問題是我必須插入到DB中的文件必須以UTF-8編碼。 你能幫我解決這個問題嗎?插入文件到數據庫
Q
插入文件到數據庫
0
A
回答
0
難以得到具體的沒有更多的細節,但有一對夫婦的事情,涌現在腦海裏:
1)如果我理解正確的話,你說你的CSV是UTF8?你是否證實了這個假設是正確的?在相關說明中,假設您認爲它是UTF-8,那麼如何將該文件加載到Java中?
請注意,Java的文件讀取器使用系統的默認字符編碼。這不一定是UTF-8,你可以檢查你是否打印System.getProperty("file.encoding");
。
我傾向於不依賴於這一點,並加載根據已知的編碼如下:
FileInputStream fis = new FileInputStream("myfile.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
...
2)數據庫覈對是指定的字符集不同。 (注意,如果你還提到了你的數據庫客戶端,這將是很方便的)。整理涉及文本的排序/排序。您通常需要指定字符集。如何做到這一點取決於你的數據庫。
相關問題
- 1. 插入文件名到數據庫
- 2. 從文本文件插入數據到數據庫表
- 3. 插入到mysql數據庫解析文本文件的數據
- 4. 插入文本文件數據到SQLite數據庫使用android
- 5. 從文件插入數據到數據庫
- 6. 插入數據文件到SQL Server數據庫(無分隔符)
- 7. 從XML文件插入數據到MySQL數據庫
- 8. 從txt文件插入數據到數據庫PHP
- 9. 使用java插入xml文件數據到數據庫中?
- 10. 從Excel文件插入數據到SQL Server數據庫
- 11. 插入文本到數據庫中
- 12. 在數據庫中插入文件名
- 13. TDD插入到數據庫
- 14. 插入到數據庫
- 15. 插入到Access數據庫
- 16. CSV插入到數據庫
- 17. PHP插入到數據庫
- 18. 插入到mysql數據庫
- 19. 有插入到數據庫
- 20. 插入到android數據庫
- 21. 插入值到數據庫
- 22. 插入到oracle數據庫
- 23. 插入值到數據庫
- 24. 插入到MySQL數據庫
- 25. 插入數據庫條件
- 26. 從文本文件插入到SQL數據庫中的信息
- 27. 將文本文件插入到數據庫中
- 28. php代碼插入文本文件到數據庫中
- 29. 使用OPENROWSET插入文本文件到數據庫
- 30. 從datagridview插入數據到數據庫
1.我的CSV-s採用UTF-8格式,我用標準方式加載文件:File f = new File(「C:\\ ...」),比while循環中的每一行都要好。之後,我在MySql DB(JDBC驅動程序)中插入文件。 2.我在http://dev.mysql.com/doc/refman/5.0/en/charset-database.html上說:「如果在沒有CHARACTER SET的情況下指定COLLATE Y,則與Y和歸類Y相關的字符集是使用「,所以如果我設置UTF-8默認排序規則,比字符集將是UTF-8。 – sekulicd 2012-04-04 08:26:35
雖然File對象不是讀者,但這正是我渴望發現的。我已經更新了我的答案,以顯示它是如何爲utf-8完成的。 – arooaroo 2012-04-10 17:55:23
我意識到這一點,但無論如何謝謝你。 – sekulicd 2012-04-10 19:07:02