• Android client和服务器JSP互传中国


      出于兼容性简化、传统中国等多国语言。推荐使用UTF-8编码。

    首选。我们期待Android到底应该怎么办:

    在发送前,应该对參数值要进行UTF-8编码,我写了一个static的 转换函数。在做发送动作前用它将參数值转换成utf8编码:

    public class NetUtil {
    	static public String toUtf8Url(String value) {
    		try {
    			return java.net.URLEncoder.encode(value, "utf8");
    		} catch (UnsupportedEncodingException e) {
    			// TODO Auto-generated catch block
    			return "";
    		}
    	}
    }
    

    还要注意发送接收函数。返回的httpEntity的返回内容转成BufferedInputStream然后读出byte[],再用new String(byte[],"utf8")这样的方式获得返回字符串。



    以下是对服务端的处理,首选保证jsp的字符处理都是用UTF-8:

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    
    ...
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    
      request.setCharacterEncoding("UTF-8");

        有两种办法可让JSP正确将UTF-8解码:

    第一种办法简单。配置tomcat的server.xml:vi 打开server.xml,查找 <Connector port="80"keyword,在里面指定URI编码属性: URIEncoding="UTF-8"

    。然后重新启动tomcat就可以,无需改动JSP代码。


    另外一种办法,假设没权限改动tomcat配置,那么须要手动转换:

    String p_str =URLDecoder.decode(X11checkString((String)request.getParameter("str")),"UTF-8");
    // 假设改动了server.xml,可直接用这个 String p_str = X11checkString((String)request.getParameter("str"));
    



    測试例如以下图,英文、中文简体、传统中文、日语并存也可正确解码。



    (转载请注明出处: http://blog.csdn.net/rocklee


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    关于object和embed
    关于跨域问题的解决办法
    SQL 中 SELECT 语句的执行顺序
    sql子查询 嵌套SELECT语句
    PL/SQL中SELECT总结
    SQL Server
    SQL Server SELECT逻辑处理顺序
    SQL 基础:Select语句,各种join,union用法
    sql基础知识(新手必备)
    mysql处理海量数据时的一些优化查询速度方法
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4801945.html
Copyright © 2020-2023  润新知