簡體   English   中英

使用apache FIleutilities讀取sql文件時要使用的編碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM