LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: menglianjing

jsp怎么转码

[复制链接]
发表于 2004-6-30 00:23:26 | 显示全部楼层
public static String GBKConverter(String src)
{
  if(src==null||src.trim()==null||src.equals("")||src.equals("null"))return "";    //空就返回
  try{
    return (new String(src.getBytes("8859_1"),"GBK"));//能转就转
  }catch(Exception e){
    return src;//转不了原样传回
  }
}
//适用于request.getParameter("field");方法;tomcat3.3.2可能不适用.tomcat4-tomcat5都可以用.省略每次判断
把它和connection方法放在conn.jsp中,每次<%@ include%>进来.
发表于 2004-6-30 11:49:00 | 显示全部楼层
最初由 jiechu 发表
public static String GBKConverter(String src)
{
  if(src==null||src.trim()==null||src.equals("")||src.equals("null"))return "";    //空就返回
  try{
    return (new String(src.getBytes("8859_1"),"GBK"));//能转就转
  }catch(Exception e){
    return src;//转不了原样传回
  }
}
//适用于request.getParameter("field");方法;tomcat3.3.2可能不适用.tomcat4-tomcat5都可以用.省略每次判断
把它和connection方法放在conn.jsp中,每次<%@ include%>进来.


最初由 hantsy 发表
这样转换会死人的。。。
不如用过滤器


:p
 楼主| 发表于 2004-7-23 14:08:00 | 显示全部楼层

re

[php]
<?xml version="1.0" encoding="gb2312"?>
<!--
  Copyright 2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

  <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>gb2312</param-value>
    </init-param>
  </filter>
  <filter-mapping>
     <filter-name>Set Character Encoding</filter-name>
     <url-pattern>/*</url-pattern>
  </filter-mapping>
<!-- JSPC servlet mappings start -->

    <servlet>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <servlet-class>org.apache.jsp.index_jsp</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <url-pattern>/index.jsp</url-pattern>
    </servlet-mapping>

<!-- JSPC servlet mappings end -->

</web-app>
[/php]

可是从数据库里读出中文还是?????? 为什么? 是fedora
发表于 2004-7-23 17:19:18 | 显示全部楼层

怎么会呢?

大家好像混淆两个问题了:表单提交中文的问题与数据库读取数据的问题。menglianjing所贴出的设置只是针对第一个问题的,所以从数据库中读出中文依然是不正常的。

如果是这样,那问题就好解决了,在数据库连接url上加上如下的参数:
&useUnicode=true&characterEncoding=gb2312
例如:

  1. jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=gb2312
复制代码
发表于 2004-7-23 18:08:46 | 显示全部楼层

回复: 怎么会呢?

最初由 ant64 发表


如果是这样,那问题就好解决了,在数据库连接url上加上如下的参数:
&useUnicode=true&characterEncoding=gb2312


必须说清楚,你这个只针对mysql。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表