`
microapple
  • 浏览: 16055 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web中文乱码的post与get

 
阅读更多
1.数据库

在创建的时候,指定其编码为UTF-8.

   (1)oracle:

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
---------------------------------------------
SIMPLIFIED CHINESE_CHINA.UTF8

SQL>

jdbc url无须指定编码。

   (2)SqlServer:
留着

   (3)MySQL:

安装mysql的时候选utf-8;管理工具安装后,首先设置管理工具 client编码为中文的gb2312 gbk,这与mysql无关
建库的时候选utf-8
建表的时候选utf-8    utf_unicode_ci 两项
建字段的时候选utf-8   utf_unicode_ci 两项

jdbc url参考:jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false



2.新建web项目

别的先不干,先选中项目:

右键->properties->Info->Text file encoding:Other:UTF-8。

但我用的JBuilder 2007似乎在JS文件上需要重新弄一下:

新建*.js文件,右键该文件->properties->Info->Text file encoding:Other:UTF-8。再把原来带中文的^C^V过来,save。

如果是把js所在的目录设为UTF-8,然后新建js文件,貌似不能继承,得一个个这么^C^V,烦。



3.tomcat的配置

为了保证某些中文文件名的文件能够被正确访问,需要修改tomcat/conf/server.xml,增加:

    <Connector port="8088" maxHttpHeaderSize="8192"
                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />

注意:

   开发时,修改了tomcat安装目录,怎么还是乱码?

CAUSE:

   开发时,JBuilder2007(eclipse maybe)并没有发布到tomcat安装目录下,而是在

workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/conf

有个相应的server.xml文件,需要改这个,在JB下才有效。具体tmp0/tmp1/tmpN由发布的次数/项目个数来定。



4.jsp页面

保证任何jsp的第一行都是:

<%@page contentType="text/html; charset=UTF-8"%>

并且在jsp页面不要再出现charset的字样!

有的同志第一行按上面所述指定了,下面又来一个:

<META http-equiv='Content-Type' content='text/html;charset=gb2312'>

更有甚者,居然在包含的JS里面来这么一句:

document.charset='gb2312';

你说在JSP里面

<script language="JavaScript" type="text/JavaScript">  
         document.charset='gb2312'; 
</script>

写也就罢了,我还好找些,你把它另外存个文件,然后引入,不是磨人吗?

须知编码不统一,才是乱码之根源。
5.filter!(struts 1)
①一个servlet
import java.io.*;  
import javax.servlet.*;  
import javax.servlet.http.*;  
import org.apache.struts.action.*;  
public class QActionServlet extends ActionServlet {  
    public static final long serialVersionUID = -1L;  
    protected void process(HttpServletRequest request,  
            HttpServletResponse response) throws IOException, ServletException {  
        request.setCharacterEncoding("UTF-8");  
        super.process(request, response);  
    }  
} 

②<servlet> 
        <servlet-name>action</servlet-name> 
        <servlet-class> 
            com.qfx.QActionServlet 
        </servlet-class> 
        <init-param> 
            <param-name>debug</param-name> 
            <param-value>2</param-value> 
        </init-param> 
        <init-param> 
            <param-name>config</param-name> 
            <param-value> 
                /WEB-INF/config/struts-config.xml, 
            </param-value> 
        </init-param> 
        <load-on-startup>2</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>action</servlet-name> 
        <url-pattern>*.do</url-pattern> 
    </servlet-mapping> 
分享到:
评论

相关推荐

    过滤器实现get请求和POST请求的中文乱码问题

    使用过滤器实现GET请求和POST请求的中文乱码问题,只需在自己的Web应用中的web.xml中配置该filter即可使用。

    自定义Filter来解决web项目的乱码问题,包括get和post请求

    自定义Filter来解决web项目中的乱码问题,包括get请求和post请求,使用包装设计模式。

    web项目中遇到乱码的解决方法

    解决web开发时乱码的解决办法一般判断表单是用get提交还是Post提交

    doget和dopost中文乱码问题1

    在Web开发中,中文字符的乱码问题是一个常见的问题,特别是在使用DOGET和DOPOST请求时。今天,我们将讨论DOGET和DOPOST中文乱码问题的解决方案。 DOGET和DOPOST请求中的中文乱码问题 在使用DOGET和DOPOST请求时,...

    java中文乱码解决问题

    有时候,我们在中文系统平台下开发的 Web 应用程序移植到英文系统平台下,在 Servlet 和 JSP 中直接书写的中文字符串在输出时,将显示为乱码。这是因为在编译 Servlet 类或者 JSP 文件时,如果没有使用 -encoding ...

    Tomcat和weblogic中文乱码问题解决方案

    在 WebLogic 服务器中,解决中文乱码问题的方法与 Tomcat 服务器类似。只需要将上述过滤器注册到 WebLogic 服务器中即可。 中文乱码问题可以通过简单的解决方案来解决。只要将 request 和 response 的编码方式设置...

    JSP利用过滤器解决request中文乱码问题.docx

    在JSP中,客户端的数据一般是通过HTTP GET/POST方式提交给服务器,在服务器端用request.getParameter()读取参数时,很简单消失中文乱码现象。这是因为HTTP协议默认使用ISO-8859-1编码,而中文字符在这个编码中无法...

    Labview创建webservice与C#进行简单的http通信(post,get)

    labview创建webservice,客户端,C#创建客户端 最终实现C#和labview使用http进行互相通信

    Tomcat中文乱码处理方法.docx

    "Tomcat中文乱码处理方法" Tomcat中文乱码处理方法是指在使用Tomcat服务器时,遇到中文乱码问题的解决方法。中文乱码是指在网页中显示的中文字符被错误地显示为乱码,影响用户体验和网站的可读性。 第一种解决方法...

    万能中文乱码过滤器

    java web开发中文乱码万能过滤器,采用注解配置,拖入项目即可,对post和get提交均有效。

    java中文乱码处理.pdf

    POST表单提交中文乱码处理 在POST表单提交中,可以使用Filter来解决中文乱码问题。例如,可以编写一个SetCharacterEncodingFilter来改变参数的编码方式。下面是SetCharacterEncodingFilter的代码: ```java ...

    PB如何提交WEB请求包含中文参数的解决方案全过程.docx

    PB 是 PowerBuilder 的缩写,这是一种流行的开发工具,但是在提交 WEB 请求包含中文参数时,会出现乱码问题。本文将详细介绍如何解决这个问题,包括使用 GETURL 和 POSTURL 方式的尝试,以及最终的解决方案。 问题...

    java web 乱码 问题

    form表单get、post方式都无乱码,页面链接地址也无中文乱码,刷新页面无乱码,但是选中地址栏中的url 敲回车,乱码出现了!  原因:浏览器配置问题。  解决方案:ie:“internet选项/高级”中“总以

    JAVA Web 用过滤器和包装器消除乱码

    我综合网上的几个消除乱码的解决方案做的一个过滤器,可以消除GET请求和POST请求的乱码问题

    【Web开发】彻底解决开发中请求(get/post)、应答以及控制台中文乱码问题

    我们在javaWeb项目时,使用doget和dopost总是会出现各种原因的中文乱码问题,楼主在查阅大量资料后,将为什么有这样的问题,和如何解决这种问题做个总结。 思维导图: 1. 应答乱码处理(response输出页面时乱码) 1.1 ...

    URL汉字编码问题(及乱码解决)

    URL汉字编码问题是Web开发中一个常见的问题,特别是在处理中文网址时。根据RFC 1738,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。因此,如果URL中有汉字,就必须编码后使用。但是,...

    web配置文件.txt

    而POST请求中,如果出现中文时,会导致程序无法正常运行,会出现中文乱码问题,所以就必须在web.xml中配置POST请求中文乱码问题 &lt;filter-name&gt;encodingFilter &lt;filter-class&gt;org.springframework.web.filter....

    做Java项目过程中遇到乱码问题的解决方案

    在做java项目(特别是web项目)的过程中,中文乱码一直是我们开发人员比较头疼的问题,因为涉及到编码,解码,字符集,以及国际化等诸多问题,所以在着手解决的时候也缺乏相关的知识。我花了一些时间自己动手实验了...

    Tomcat中文乱码解决方法参考.pdf

    Tomcat 中文乱码问题是 Web 开发中常见的问题之一,本文将详细介绍解决 Tomcat 中文乱码的方法。 一、设置网页编码 在 Tomcat 中,设置网页编码是解决中文乱码的关键。可以通过 contentType、pageEncoding 或 ...

Global site tag (gtag.js) - Google Analytics