我嘗試創建 XSP Servlet 并希望在我的 Web 應用程序中完全支持泰語(和/或其他亞洲/阿拉伯字母)。此腳本是來自https://frostillic.us/blog/posts/159496067A27FD3585257A70005E7BC1的自定義版本環境:Domino 9.0.1 FP6,Windows Server 2008package com.testing.servlet;import java.io.*;import java.util.*;import com.ibm.commons.util.StringUtil;import com.ibm.xsp.webapp.DesignerFacesServlet;import javax.faces.context.FacesContext;import javax.servlet.*;import javax.servlet.http.*;import lotus.domino.*;public class Testing extends DesignerFacesServlet { //Session private static Session getCurrentSession(FacesContext context) { return (Session) context.getApplication().getVariableResolver() .resolveVariable(context, "session"); } private void incinerate(Object... dominoObjects) { for (Object dominoObject : dominoObjects) { if (null != dominoObject) { if (dominoObject instanceof Base) { try { ((Base)dominoObject).recycle(); } catch (NotesException e) { System.out.println("[FAILED TO RECYCLE]"); e.printStackTrace(); } } } } } public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { HttpServletRequest req = (HttpServletRequest)servletRequest; HttpServletResponse res = (HttpServletResponse)servletResponse; ServletOutputStream out = res.getOutputStream(); FacesContext facesContext = this.getFacesContext(req, res); Session session = null; Database database = null; View view = null; Document doc = null; } } }}結果startCounter: 5???????????? // thai letter display as ????done如何顯示泰文而不是????
1 回答

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
在處理挪威字符時,我遇到了類似的問題。能夠通過切換到 aPrintWriter而不是來修復它ServletOutputStream:
HttpServletResponse res = (HttpServletResponse) servletResponse;
HttpServletRequest req = (HttpServletRequest) servletRequest;
res.setContentType("application/json; charset=UTF-8;");
//use a PrintWriter here, since we also have to deal with UTF-8 characters
PrintWriter out = res.getWriter();
剛剛對泰語和阿拉伯語進行了快速測試,這似乎有效。
添加回答
舉報
0/150
提交
取消