私はローカルでもjbossサーバーでもdb内にあるように、すべての項目が発音区別記号付きで正しく表示されるリストグリッドを持っています。CSVエンコーディングの問題へのエクスポート
しかし、jbossサーバーでは、csvとしてエクスポートしようとするとすべての発音区別文字が置き換えられますので、発音記号はリストグリッドに正しく表示されますが、Şcoalaの代わりにì~coalaのようなものがあります。
ローカルでは、リストグリッドに表示され、エクスポートされています。ここで
は、輸出のために私のコードです:
またprivate void Export() {
String exportAs = (String) m_ExportForm.getField("exportType").getValue();
FormItem item = m_ExportForm.getField("showInWindow");
boolean showInWindow = item.getValue() == null ? false : (Boolean) item.getValue();
// exportAs is either XML or CSV, which we can do with requestProperties
Map<String,String> params= new java.util.HashMap<String, String>();
params.put("Accept-Charset","utf-8");
DSRequest dsRequestProperties = new DSRequest();
dsRequestProperties.setHttpHeaders(params);
dsRequestProperties.setExportValueFields(true);
dsRequestProperties.setExportAs((ExportFormat)EnumUtil.getEnum(ExportFormat.values(), exportAs));
dsRequestProperties.setExportDisplay(showInWindow ? ExportDisplay.WINDOW : ExportDisplay.DOWNLOAD);
// TODO: move in user-config
dsRequestProperties.setExportTitleSeparatorChar("_");
dsRequestProperties.setExportDelimiter(";");
dsRequestProperties.setExportFilename("export." + extensionsValueMap.get(exportAs));
dsRequestProperties.setContentType("text/csv; charset=UTF-8");
m_Target.Export(dsRequestProperties);
Close();
}
、私はこれを持って私のJBoss 7プロパティファイルに:
<system-properties>
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>
listgridsが適切に特殊記号を表示して動作します。
また、私のweb.xmlに私が
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
は、たぶん私は間違ってトラックによ私のサーブレットのために持っていると、これは何か他のものによって引き起こされます。
ローカルにエクスポートされたファイルとjbossサーバからエクスポートされたファイルの両方が、正確なファイルサイズを持っています。
また、私のJBoss JVMの私はJAVA_OPTS
-Dfile.encoding=UTF-8
EDITのプロパティを設定します。が原因提案へのparamsマップを追加しました。まだ何も。
これはある程度の洞察を与えるかもしれませんか? https://community.jboss.org/message/646601 – Phani
HTTPリクエストとレスポンスヘッダーをキャプチャして投稿します。また、ダウンロードしたCSVのファイルサイズと、「??」があるファイルサイズをバイトで記入してください。 –