Heim  >  Artikel  >  Java  >  So lösen Sie das Problem verstümmelter Zeichen in exportierten CSV-Dateien mit Java

So lösen Sie das Problem verstümmelter Zeichen in exportierten CSV-Dateien mit Java

尚
Original
2019-12-28 16:29:512523Durchsuche

So lösen Sie das Problem verstümmelter Zeichen in exportierten CSV-Dateien mit Java

Wenn die abgefragten Daten als XLS-Datei (UTF-8-Kodierung) exportiert werden, sind die Daten normal, aber beim Export als CSV-Datei sind die chinesischen Zeichen in der Datei verstümmelt auch UTF-8-kodiert, wenn der Export auf GBK-Kodierung umgestellt wird, ist die chinesische Anzeige normal. (Empfohlen: Java-Video-Tutorial)

Lösung:

Die im CSV-Modus exportierte Datei enthält standardmäßig keine Stücklisteninformationen, da der Inhalt angegeben wird Ausgabe Durch Festlegen der Stücklistenkennung (Bytestream beginnend mit EF BB BF) kann dieses Problem gelöst werden. Die spezifische Methode lautet wie folgt:

...
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(response.getOutputStream(), "UTF-8");  
// 要输出的内容  
result = (String)contentMap.get(RESPONSE_RESULT);  
response.setHeader("Content-Disposition", "attachment;filename=test.csv");  
outputStreamWriter.write(new String(new byte[]{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF}));  
outputStreamWriter.write(result);  
outputStreamWriter.flush();

Wenn sie mit dem OutputStream-Stream implementiert wird, können die Parameter wie folgt geändert werden:

out = response.getOutputStream();     
//加上UTF-8文件的标识字符      
out.write(new byte []{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF});

Für weitere Java-Kenntnisse beachten Sie bitte die Java Basic Tutorial Spalte.

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Zeichen in exportierten CSV-Dateien mit Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn