Lorsque les données interrogées sont exportées sous forme de fichier xls (encodage UTF-8), les données sont normales, mais lorsqu'elles sont exportées sous forme de fichier CSV, les caractères chinois tronqués dans le fichier sont ; également codé en UTF-8, lorsque l'exportation est modifiée en codage GBK, l'affichage chinois est normal. (Recommandé : Tutoriel vidéo Java)
Solution :
Le fichier exporté en mode CSV ne contient pas d'informations de nomenclature par défaut, en donnant le contenu à sortie La définition de l'identifiant de nomenclature (flux d'octets commençant par EF BB BF) peut résoudre ce problème. La méthode spécifique est la suivante :
... 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();
Si elle est implémentée avec le flux OutputStream, les paramètres peuvent être modifiés comme suit :
out = response.getOutputStream(); //加上UTF-8文件的标识字符 out.write(new byte []{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF});
Pour plus de connaissances Java, veuillez faire attention au Tutoriel de base Java Colonne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!