Ⅰ 用java讀取txt文件中的中文寫入資料庫出現中文亂碼,怎麼解決
"1,設置下你資料庫的編碼,一般設置成UTF-8或GBK或GB2312
2,java讀取TXT數據時可以轉換下編碼,再存進資料庫,從資料庫讀取出來後顯示時也同樣的轉換下編碼,貌似可以用個過濾器來弄的,"
Ⅱ 用java 讀取的txt文件為什麼是亂碼
注意UTF-8和Unicode之間的轉換;
如果是編碼問題,可內以這樣解決:容
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
StringBuffer SB=new StringBuffer();
while((temp=br.readLine())!=null){
SB.append(temp);
}
String strOut=new String(SB.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(strOut);
Ⅲ java 讀txt中文亂碼
txt文檔一般是GBK編碼格式的,你可以將它另存一下,改為Utf-8格式,你也可以將你的開發工具調成GBK編碼格式,總之就是將你的開發環境的編碼格式與你要讀取的txt文件的編碼格式調成一致的。或者此處你可以使用java的轉換流,指定編碼格式去讀取txt文件,就是使用InputStreamReader(new FileInputStream(「filepath」),"GBK"),如果還是亂碼,你就再換編碼格式,不是UTF-8就是GBK
Ⅳ java 寫入txt文件的中文亂碼是怎麼回事
原因是寫入時使來用的字源符編碼和期望的不一致導致的。
Ⅳ java中向txt文件中寫入字元串,怎麼會出現亂碼
出現亂碼通常來是字元集的問源題:要麼是程序輸出時就亂碼了,要麼是查看工具的問題。
我一般用Editplus查看文本文件,打開時可以選擇用哪個字元集(Encoding)打開。
若確認程序輸出時就亂碼,可按如下方式:
java.io.PrintStreamps=null;
FileOutputStreamfout=newFileOutputStream("my.txt");
Stringtext="我的字元串數據";//在寫入前,可以調試下,看看在程序中是否亂碼
Stringencoding="utf-8";//指定文件寫入時採用的字元集(Windows默認是GBK)
ps=newjava.io.PrintStream(fout,true,encoding);
ps.print(text);
ps.close();
fout.close();
ps=null;
fout=null;
Ⅵ 在java中怎樣處理中文亂碼的問題(有幾種處理方式)
讀取文件的時候如果是用的read方法(位元組流),碰到中文輸出就是亂碼,然後存儲的時候設置下編碼為GBK或者是UTF-8形式即可,可以有效的解決亂碼問題。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
可以通過「FileOutputStream」創建文件實例,之後過「OutputStreamWriter」流的形式進行存儲,舉例:
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
pw.write("我是要寫入到記事本文件的內容");//將要寫入文件的內容,可以多次write
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。
Ⅶ 怎樣用Java讀取TXT文本亂碼解決方案
這個方法很簡單,就是獲取txt文件中的一行數據,然後轉換為數組,我這個文本中只有一行。就這種情況下獲取到的str是亂碼,我想出現亂碼肯定是字元集編碼的問題,然後自己新建了一個文本文檔測試沒有問題(開始用的文本時別的程序導出的),所以我估計是開始那個txt文件編碼的問題,查看發現是Unicode編碼(如何查看txt的編碼呢,教你一個笨笨的辦法:打開文件——另存為,然後看到最下面的編碼,默認選擇的就是當前文檔的編碼格式),問題就出現在這里。問題找到了就好解決了,修改代碼為:
privateString[] getProjectData(File file){
String[] data =null;
try{
BufferedReader br =newBufferedReader(newInputStreamReader(newFileInputStream(file),"UTF-16"));
String str = br.readLine();
data = str.split(" ");
br.close();
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
returndata;
}
使用文件流讀取,轉換編碼為「UTF-16」,這樣亂碼問題就解決了。
Ⅷ java 寫入txt文件的中文亂碼是怎麼回事
原因是寫入時使用的字元編碼和期望的不一致導致的。