首 页WAP教程WAP源码WAP电子书客户留言龙腾电脑维修网158网络电视本站论坛繁體中文
设为首页
加入收藏
联系我们
您当前的位置:WAP开发网 -> WAP教程 -> JSP开发WAP教程 -> 文章内容 退出登录 用户管理
栏目导航
· ASP WAP开发教程 · ASP.net WAP开发教程
· PHP WAP开发教程 · WML教程
· JSP开发WAP教程 · WAP 2.0
· 综合杂谈
热门文章
· WAP 2.0教程
· WML语言基础(WAP建站...
· 用VS2005实现ASP.NE...
· [组图] php WAp开发教程
· WML语言基础(WAP建站...
· VS.NET 2003开发移动...
· [图文] ASP技术进行动态WAP...
· [图文] WML语言基础(WAP建站...
· asp.net移动控件开发...
· [图文] 创建移动Web应用程序...
相关文章
· jsp制作wap网站时中...
· JSP开发WAP技术
· jsp开发wap的注意事...
· JSP wap经典教程、实...
· JSP制作WAP网站时中...
· JSP快速入门
· wap 重定向 jsp
· jsp处理wap中文乱码...
· JSP在WAP网页中的应...
· jsp开发wap应用
解决JSP中wap乱码问题
作者:不详  来源:本站整理  发布时间:2006-3-30 15:34:03  发布人:tangyunfei

减小字体 增大字体



以前做jsp是遇到过到是好解决,一般在接受内容的页面进行如下操作:(具体可能和你的web服务器有关,我这里使用的是tomcat默认配置,要是你更改了web.xml文件那么可能有所变化)

如果你是直接打印前面表单的内容那么可能是将编码由ISO-8859-1转化为GB2312;
如果你是对数据库操作则不需要转码;
同样从数据库提取数据打印在页面时需要将ISO-8859-1转化为GB2312;


我这里的wap环境是jdk1.5+tomcat5.0.18+jsdk2.0,除了server.xml的虚拟机外,没有修改tomcat的其他参数。

基本表单代码示例:

<%@ page contentType="text/vnd.wap.wml;charset=gb2312" %>
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0" />
</head>
<card >

<p>

<input name="pro" /><br/>

<anchor>test
  <go href="t.jsp" method="post">
    <postfield name="pos" value="$(pos)"/>
  </go>
</anchor>

<br/>
</p>
</card>

</wml>


转向的数据库操作页面:

<%@ page contentType="text/vnd.wap.wml;charset=GB2312" %>
<%
String pro;
%>
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0" />
</head>
<card >
<p>

//我没有想到这里还要转码 :(-
<% request.setCharacterEncoding("UTF-8"); %>

<% 
  pro = request.getParameter("pro");
    
  out.println(pro); 
  //sqltext 为拼写的sql语句
  new String(sqltext.getBytes("GB2312"),"ISO-8859-1")
  //....其他内容,
  //直接打印数据库的结果内容在wap页面
  
%>
<br/>

</p>
</card>

</wml>



附加我写的转码的类:

package net.dmresearch.util;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;


/**
 *  转换字符编码类
 *
 */
public class Charset{
  
  private String gb = "GBK";
  
  /**
   * 构造函数
   *
   */
  public Charset(){
    //
    }
  
  /**
   * 实现字符串的字符转换 to ISO-8859-1
   *
   * @param inputString 输入字符串
   * @param outputString 输出字符串
   *
   */
   
   public String to_ISO(String inputString){
     String outputString = inputString;
     try{
       String temp  = new String(inputString.getBytes(),"ISO-8859-1");
       outputString = temp;
       }
      catch(UnsupportedEncodingException uee){
        //
        }
        
      if(outputString.compareTo("")==0){
        //
        }  
    return outputString;     
     }
     
     
  /**
   * 实现字符串的字符转换 to gb2312
   *
   * @param inputString 输入字符串
   * @param outputString 输出字符串
   *
   */
   
   public String to_GB(String inputString){
     String outputString = inputString;
     try{
       String temp  = new String(inputString.getBytes(),"gb2312");
       outputString = temp;
       }
      catch(UnsupportedEncodingException uee){
        //
        }
    return outputString;     
     }
   
  /**
   * 对url进行编码
   * 
   * @param url :包含于url的字符串
   *
   */     
  public String enCode(String url){
    String okURL = url;
    try{    
        okURL = java.net.URLEncoder.encode(url,"UTF-8");
      }
      catch(java.io.UnsupportedEncodingException uee){
        //res = "uee = "+uee.getMessage();
      }
    
    return okURL;
    } 

  /**
   * 对url进行编码
   * 
   * @param url :包含于url的字符串
   * @param encodeCharset :编码的目标字符
   */     
  public String enCode(String url,String encodeCharset){
    String okURL = url;
    try{    
        okURL = java.net.URLEncoder.encode(url,encodeCharset);
      }
      catch(java.io.UnsupportedEncodingException uee){
        //res = "uee = "+uee.getMessage();
      }
    
    return okURL;
    } 

  /**
   *  ISO to GBK
   *
   */
  public String ISO_2_GBK(String s_string){
    try{
      String des = new String(s_string.getBytes("iso-8859-1"),gb);
      return des;
      }
    catch(Exception ex){
      String des="";
      return des;
      }
    }  
  
  /**
   *
   *  GBK to ISO
   */
  public String GBK_2_ISO(String s_string){
    try{
      String des  =  new String(s_string.getBytes(gb),"iso-8859-1");
      return des;
      }
    catch(Exception ex){
      String des = "";
      return des;
      }  
    }
  
  }

[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2005 wapkf.com. All Rights Reserved .
浙ICP备06013604号|站长QQ:274273595