[英]Encoding to be used while reading the sql file using apache FIleutilities
我正在使用Apache File Utilities從.sql文件中讀取以下行。
INSERT INTO tablename(MESSAGE)VALUE('將£ [%1]傳輸到以下[%2]:');
但閱讀后我得到以下內容:
'將[[%1]轉移到以下[%2]:'
問題: * £ *讀為
我正在使用以下代碼逐行讀取文件:
LineIterator it = FileUtils.lineIterator(file, "UTF-8");
while (it.hasNext()) {
lineCount++;
line = it.nextLine();
System.out.println(line);
打印行顯示為:傳輸[%1]到以下[%2]:'
當我在Netbeans中看到變量watch時,它將char表示為\\ ufffd
我閱讀的編碼錯誤嗎?
我可以使用任何編碼來讀取SQL查詢嗎?
聽起來您為文件選擇了錯誤的編碼。 通過嘗試使用您的代碼示例讀取ISO 8859-1編碼的文件,我能夠重現您的問題。
您需要確定文本文件的編碼並相應地調整字符集。 例如
LineIterator it = FileUtils.lineIterator(file, Charsets.ISO_8859_1.name());
可悲的是,確定編碼並不是您可以自動執行的操作 。 您需要明確告知編碼是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.