この記事では、ローカルのTomcatは正常なのに、liunx poi Excelをダウンロードすると内容が文字化けしてしまう問題の解決策を紹介します。困っている友人は参考にしていただければ幸いです。
結論: jsp に out.clear を追加するだけです (生成された Excel がサーバー上で正しいことを保証することが前提で、文字化けはブラウザが送信するときのみ発生します)。
dowload.jsp 完全なコード
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="com.userpackage.*" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; request. setCharacterEncoding("UTF-8"); //response.setHeader("Content-Type", "charset=UTF-8"); %> <% /* Enumeration pNames = request.getParameterNames(); String keyStr=""; String valueStr=""; Map map = new HashMap(); while (pNames.hasMoreElements()) { keyStr = pNames.nextElement().toString(); valueStr = request.getParameter(keyStr).toString().trim(); if(!"".equals(valueStr)){ out.println(keyStr+"=="+valueStr); } } */out.clear();out = pageContext.pushBody(); ExcelExport.export(request,response); out.println("22222"); %>
現象:
response.reset();// サーブレットを追加してヘッダーの空白行をクリアします
以上がローカルの Tomcat は正常ですが、liunx poi Excel をダウンロードすると内容が文字化けしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。