论坛首页 Java企业应用论坛

google appengine for java 乱码解决方案

浏览 3275 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-04-14  
由于在windows环境下开发。所以在本地中文不会出现乱码。但上传到google appengine上。就会出现中文乱码。

这与jsp的编译环境有关系。所以在这里。我们不用jsp.我们选择freemarker.

1.首先需要将freemarker的jar包加到项目的环境中。
2.在web.xml中配置freemarker的servlet.在这里。我们对所有到html页面请示进行了拦截。代码如下:


<servlet>
  <servlet-name>freemarker</servlet-name>
  <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
   
  <!-- FreemarkerServlet settings: -->
  <init-param>
    <param-name>TemplatePath</param-name>
    <param-value>/</param-value>
  </init-param>
  <init-param>
    <param-name>NoCache</param-name>
    <param-value>true</param-value>
  </init-param>
  <init-param>
    <param-name>ContentType</param-name>
    <param-value>text/html</param-value>
  </init-param>
   
  <!-- FreeMarker settings: -->
  <init-param>
    <param-name>template_update_delay</param-name>
    <param-value>0</param-value> <!-- 0 is for development only! Use higher value otherwise. -->
  </init-param>
  <init-param>
    <param-name>default_encoding</param-name>
    <param-value>GBK </param-value>
  </init-param>
  <init-param>
    <param-name>number_format</param-name>
    <param-value>########</param-value>
  </init-param>

  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>freemarker</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping>

3.在建工程的时候默认有个testServlet .在request中设置变量。forward到index.html  就不会出现中文乱码。
4.在建html页面的时候。要把html页面的编码改成GBK.

第二种可以用论坛中淘宝编码解码。

在开发appengine中用jdo进行数据库查询是遇到的问题。
例如我有如下一条语句。  select from com.bqh.Greeting where isShow==1 order by id desc range 0,10

这条语句在本地appengine环境运行很好。但是发布到外网以后。就无法执行。
经过我反复验证。只要去掉where isShow==1就可以正常运行。

我准备用appengine for java写一个blog 。 地址http://pythonfn.appspot.com/

慢慢完善功能。以后会将代码发布到google code 上。希望大家支持。


下面的jar包是如何解决中文乱码的.
   发表时间:2009-04-14  
我也是windows有乱码,网上说是在linux下开发没问题,回家去试试 呵呵。
0 请登录后投票
   发表时间:2009-04-14  
lw223 写道
我也是windows有乱码,网上说是在linux下开发没问题,回家去试试 呵呵。


linux下好像没有问题。呵呵。
0 请登录后投票
   发表时间:2009-04-15   最后修改:2009-04-15
Here is the latest utf-8 solutions for java, recommended reference.

http://www.jxva.com/blog/personal-diary/change-the-google-app-engine's-javac-compiler-encoding.html
3 请登录后投票
   发表时间:2009-07-28  
我的方法是加一个过滤器,好像也没问题。
http://go2sise.appspot.com/
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics