我有一个问题,我希望有人可以帮助我。
我正在使用以下代码从Notes视图中读取一些值
...
ViewEntryCollection vec = MyView.getAllEntries();
ViewEntry viewentry = vec.getFirstEntry();
while (viewentry != null) {
row = new Vector<String>();
Vector rowvec = viewentry.getColumnValues();
...
然后我构建一个HTML表格,其值很好,我的问题是对Xpage的响应
public void getHTMLStream(DominoFacesContext FacesContext, String HTMLstr) {
ExternalContext con = FacesContext.getExternalContext();
XspHttpServletResponse response = (XspHttpServletResponse)
con.getResponse();
byte[] content;
try {
ServletOutputStream writer = response.getOutputStream();
// setting response headers for browser
response.setContentType("application/html");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Content-Disposition", "attachment; filename=\"myhtml.html\"");
content = HTMLstr.getBytes();
writer.write(content);
writer.flush();
writer.close();
FacesContext.responseComplete();
} catch (Exception e) {
e.printStackTrace();
}
}
如果在HTMLstr中是像ä,Ö,Ü这样的德国元音,那么“作家”会将它们转换成一些标志符号。有谁知道如何解决这个问题?
基督教
您可以通过以下语句在contenttype中设置charset
response.setContentType( “应用/ HTML;字符集= UTF-8”);
另一种选择是使用正确的方法
response.setCharacterEncoding()
试试这个:
content = java.net.URLEncoder.encode(content,"UTF-8");
万一有人还需要这个。 PrintWriter使用来自xsp属性的编码,所以只需确保你有xsp.html.page.encoding = utf-8