Posted by: piman007 | 13-02-2008

ปัญหาภาษาไทยกับ ServletContainer (TIS-620)

วันนี้เจอปัญหาที่ปกติทั้งเว็บ set display เป็น UTF-8 ทั้งหมด แต่ดันมาเจอปัญหาเจ้ากรรม Database เป็น TIS-620 เสียนี่
ลองเช็ต JSP page (บางหน้าเฉพาะต่อกับ database ตัวดังกล่าว) encode เป็น TIS-620 ก็แล้ว แสดงแบบ JSP ตรงๆ ไม่มีปัญหา
แต่ครั้นผ่าน Servlet แล้วขึ้น ???? เอ… แล้วไงกันนี่
 
ผมพบทางออกแล้ว ต้อง set
 
        response.setCharacterEncoding("TIS-620");
        response.setContentType("text/html; charset=TIS-620");
ก่อน RequestDispatcher ไว้ด้วยล่ะ
 
 
ServletContainer
 
    private void goQueryResultPage(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        request.setCharacterEncoding("TIS-620");
        response.setCharacterEncoding("TIS-620");
        response.setContentType("text/html; charset=TIS-620");
        RequestDispatcher requestdispatcher = sc.getRequestDispatcher("/webs/co_control/result.jsp");
        requestdispatcher.include(request, response);
    }
 
JSP Page (result.jsp)
<%@page contentType="text/html"%>
<%@page pageEncoding="TIS-620"%>
.
.
.
.
 
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=TIS-620">
        <title>.::: N-Service</title>
        <link href="webs/stylesheet/style.css" rel="stylesheet" type="text/css">   
    </head>
    <body>
        
    </body>
</html>
 

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

หมวดหมู่

%d bloggers like this: