Re: double byte encoding issue.

"AC" <[email protected]> Wed, 30 Aug 2006 21:12:05 +0800
Newsgroups gmane.comp.java.webmacro.user
Message-ID <20060830131206.BBXX17657.wmail05dat.netvigator.com@achomemain>
This is a multi-part message in MIME format.

--===============0567263325==
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0007_01C6CC78.F4777890"

This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C6CC78.F4777890
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi there, 

I was evaluating WebMacro with Servlet for one Web application, fulfilling
both English and Big5 Chinese UI. 

It worked very well and I could see the great convenience and simplicity
behind.  However, when come to using a template for Chinese, I found all
big5 characters in my .wm files were strangely encoded when viewing through
a servlet. Wondering if this was experienced before and have had solution or
fix developed. 

My environment:

Windows 2000 Professional
Tomcat Apache 5.5.16
WebMacro 2.0 (build date, 1st Nov 2005)

Options I have tried:

#1. use HttpServlet with WebMacro
---------------------------------------------------------------------------

public class WMHello extends HttpServlet {
...
public void init() ..{
..
private WebMacro _wm = new WM();
}

public void doGet(HttpServletRequest req, HttpServletResponse res) .. {

....
res.setContentType("text/html;charset=big5");
res.setLocale(new Locale("tw","")); 
....
try {
      WebContext c = _wm.getWebContext(req,res);
      
      Template tmpl = _wm.getTemplate(WMFile);

/* have tried all below options and none works */
      //tmpl.write(res.getOutputStream(), res.getCharacterEncoding(), c);   
      //tmpl.write(res.getOutputStream(), "BIG5", c);
      tmpl.write(res.getOutputStream(), c);

    }
    catch (WebMacroException e) {
      throw new ServletException(e);

... 
}

}

#2,  trying to directly use a WebMacro Servlet where "public class
WMServlet01 extends WMServlet()
"---------------------------------------------------
.
out.println("<h2>hfdhfdsf </h2>");
//trying to include one WM writer
RequestDispatcher disp = req.getRequestDispatcher("/WMServlet01");
disp.include(req, resp);
out.println("<p>the end");
....
-------------------------------------------------------------------------


Attached .wm template and screen captures for reference. 


Please let me know if more info if needed.  Thanks for any help in advance.


AC@hongkong


 << File: big5Problm.JPG >>  << File: hello.wm >> 


------=_NextPart_000_0007_01C6CC78.F4777890
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7036.0">
<TITLE>RE: double byte encoding issue.</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">Hi =
there, </FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">I was =
evaluating WebMacro with Servlet for one Web application, fulfilling =
both English and Big5 Chinese UI. </FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">It =
worked very well and I could see the great convenience and simplicity =
behind.&nbsp; However, when come to using a te</FONT><FONT SIZE=3D2 =
FACE=3D"Arial">mplate for Chinese, I found all big5 characters in my .wm =
files were strangely encoded when viewing through a servlet. Wondering =
if this was experienced before and have had solution or fix developed. =
</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">My =
environment:</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Windows 2000 Professional</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Tomcat Apac</FONT><FONT SIZE=3D2 FACE=3D"Arial">he =
5.5.16</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">WebMacro 2.0 (build date, 1</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><SUP></SUP><SUP><FONT =
SIZE=3D2 FACE=3D"Arial">st</FONT></SUP></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial"> Nov 2005)</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Options I have tried:</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">#1. =
use HttpServlet with WebMacro =
-------------------------------------------------------------------------=
--</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">public class WMHello extends HttpServlet =
{</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">...</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">public void init() ..{</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">.</FONT><FONT SIZE=3D2 FACE=3D"Arial">.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">private WebMacro _wm =3D new WM();</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">}</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">public void doGet(HttpServletRequest req, =
HttpServletResponse res) .. {</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">....</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">res.setContentType(&quot;text/html;charset=3Dbig5&quot;);<=
/FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">res.setLocale(new Locale(&quot;tw&quot;,&quot;&quot;)); =
</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">....</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">try =
{</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WebContext c =3D =
_wm.getWebContext(req,res);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Template tmpl =3D =
_wm.getTemplate(WMFile);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">/* =
have tried all below options and none works */</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
//tmpl.write(res.getOutputStream(), res.getCharacterEncoding(), =
c);&nbsp;&nbsp; </FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
//tmpl.write(res.ge</FONT><FONT SIZE=3D2 FACE=3D"Arial">tOutputStream(), =
&quot;BIG5&quot;, c);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
tmpl.write(res.getOutputStream(), c);</FONT></SPAN></P>
<BR>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp; catch (WebMacroException e) =
{</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new =
ServletException(e);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">... =
</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">}</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">}</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">#2,&nbsp; trying to directly use a WebMacro Servlet where =
&#8220;</FONT><FONT SIZE=3D2 FACE=3D"Arial">public class WMServlet01 =
extends WMServ</FONT><FONT SIZE=3D2 FACE=3D"Arial">let() =
&#8220;</FONT><FONT SIZE=3D2 =
FACE=3D"Arial">---------------------------------------------------</FONT>=
</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&#8230;</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">out.println(&quot;&lt;h2&gt;hfdhfdsf =
&lt;/h2&gt;&#8221;</FONT><FONT SIZE=3D2 =
FACE=3D"Arial">);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">//trying to include one WM writer</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">RequestDispatcher disp =3D =
req.getRequestDispatcher(&quot;/WMServlet01&quot;);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">disp.include(req, resp);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">out.println(&quot;&lt;p&gt;the =
end&quot;);</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&#8230;&#8230;</FONT><FONT SIZE=3D2 =
FACE=3D"Arial">..</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">--</FONT><FONT SIZE=3D2 =
FACE=3D"Arial">----------------------------------------------------------=
-------------</FONT></SPAN></P>
<BR>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Attached .wm template and screen captures for reference. =
</FONT></SPAN></P>
<BR>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Please let me know if more info if needed.&nbsp; Thanks =
for any help in advance.</FONT></SPAN></P>
<BR>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">AC@hongkong</FONT></SPAN></P>
<BR>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT FACE=3D"Times New =
Roman">&nbsp;&lt;&lt; File: big5Problm.JPG &gt;&gt;</FONT>&nbsp;<FONT =
FACE=3D"Times New Roman"> &lt;&lt; File: hello.wm =
&gt;&gt;</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> =
</SPAN></P>

</BODY>
</HTML>
------=_NextPart_000_0007_01C6CC78.F4777890--



--===============0567263325==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
--===============0567263325==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Webmacro-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/webmacro-user

--===============0567263325==--