0 0

java 乱码0

后台action 输出form 值:王五

这个是一个name 字段的中文,输入的是:王五,前台发送到后台就变成这样

 

前台js 因为要接收 extremetable 中的input text ,所以调成这样<script language="javaScript" charset="GBK">

这样来更改一些 input text 的值,没办法。

大致如下:

<script language="javaScript" charset="GBK">

function change() {

 document.getElementById('name1').value = document.getElementById('name2').value;

}

function add() {

document.getElementById('name1').value = '';

}

</scipt>

<ec:table item='result' var='re'>

<ec:row>

<ec:column property='name'>

<input type='hidden' value='${re.name}' name='name2'>

${re.name}

</ec:column>

</ec:row>

</ec:table>

<input type='button' value='编辑' onclick='change()'>

<input type='button' value='新增' onclick='add()'>

<input type='text' name='name1'>

<input type='submit'>

单独新增,提交到后台form get 到的值是 &#29579;&#20116; 我输入的是:王五。怎么在action 里面转成正常的“王五”?


问题补充:<html:html>
<html:form action="testAction.do?method=submit" method="post">
<input type='text' name='name1'>
<input type='submit'>
</html:form>
</html:html>
之前没有 method='post' 现在加了也是这样
另外,编辑后台用
String name = new String(stuform.getName().getBytes("iso-8859-1"),"gb2312");
可以正确转换
但是新增却总是 &#29579;&#20116;


问题补充:1、<%@ page language="java" import="java.util" pageEncoding="GBK" contentType="text/html; charset=GBK" %>
结果一样
2、tomcat 配置server 会出错,服务器启动不起。

问题补充:我懂是追加到那里去,tomcat 也按你说的加进去了。但是问题依然是不行,是不是该考虑为什么修改没问题可以转换,新增就转换不了呢

问题补充:T_T
我想死啊。。。过滤器也加了web.xml 了。。。还是 &#29579;&#20116;

问题补充:好像有点进展<head></head>中加了
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<input type='text' name='name1' value='&nbsp;'>
这样后台会出现&nbsp;
输入中文就是??
算是新进展吧

问题补充:嗯。。。以后会注意编码统一的了。回到正题
<input type='text' name='name1' value='&nbsp;'>
一开始显示确实只有空格。
现在这样,就连本来新增没事也变成了??
action 取 form 取到的值就已经是?? ,通过转GBK 之后依然是这样

问题补充:编码已经是统一了。jsp 前台action 转换都是GBK
2012年9月21日 10:42

10个答案 按时间排序 按投票排序

1 0

刚那个tomcat server.xml配置是我从我项目中帖的一个不一定适应你的
可以用这个:
  <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="GB2312" useBodyEncodingForURI="true"/>
不是新增这个配置而是在server.xml文件中找到这个
<Connector port="8080" 的节点追加一个属性 URIEncoding="GB2312"

2012年9月21日 11:21
0 0

“ &#29579;&#20116; ”——出现的这也是一种转义,貌似是javascript中会出现(以前在IE6中遇到过)。
当时采用:spring 的 HtmlUtils.htmlUnescape("&#29579;&#20116;")解码的。

1. 测试时只要在tomcat中配置Connector URIEncoding即可,其他Connector中的编码相关的最好先不要配置。
2. 什么编码过滤器配置都是浮云,或多或少都有问题(比如奇偶个数的字符串时一般是ie)。
3. <script中也不要配置编码,如果非要配置在tomcat/conf/web.xml中配置

 <mime-mapping>
        <extension>js</extension>
        <mime-type>application/javascript;charset=utf-8</mime-type>
    </mime-mapping>

4. 注意如果是通过浏览器地址栏传递中文,必须使用js的encodeURIComponent转码(因为ie浏览器无法正确表达)
window.open("http://xxxx/action.do?name=" + encodeURIComponent(document.getElementById('name').value));

2012年9月22日 09:15
0 0

不明白为何不用utf-8作为统一编码,这样服务端可以这样解决:new String(request.getParameter("paramName").getBytes("ISO-8859-1"), "UTF-8")

2012年9月22日 01:31
0 0

js函数encodeURI一下你的中文,然后在提交

2012年9月21日 16:48
0 0

编码统一了吗?第一次看到这么奇怪的事,不像是乱码。

2012年9月21日 14:28
0 0

1、<input type='text' name='name1' value='&nbsp;'>   页面也显示&nbsp;吗?

2、通过chrome debug下看看发送的数据 贴上来

2012年9月21日 12:38
0 0

那就弄个过滤器吧
http://blog.csdn.net/l271640625/article/details/6388690

2012年9月21日 11:38
0 0

demojava  的解决方案可行

2012年9月21日 11:13
0 0

1.<%@ page contentType="text/html; charset=GBK" %>
2.<%@ page pageEncoding="GBK" %>
3.过滤器
4.tomcat server.xml
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
disableUploadTimeout="true"
URIEncoding=”GB2312”/>里面所设置的URIEncoding=”GB2312”再进行一次编码,

2012年9月21日 11:05
0 0

1.from 设置post
2.使用js 函数 encodeURI(url);然后提交

2012年9月21日 10:53

相关推荐

    java乱码解决方法

    解决java web开发中遇到的前后台传值乱码问题。

    java乱码自己解决的办法

    本文将深入探讨Java乱码的根源,并提供一系列实用的解决方案,帮助开发者有效应对这一挑战。 ### Java乱码根源 Java乱码主要由编码不一致引起,具体来说,当数据在不同环境(如输入、存储、读取)中采用不同的字符...

    Java乱码学习 Java乱码学习

    Java 乱码问题一直是开发...总结来说,Java乱码问题需要从源头(文件编码)、编译过程、网络传输以及服务器处理等多个层面进行排查和设置。了解并掌握这些知识点,将有助于我们更好地预防和解决Java环境下的乱码问题。

    java乱码问题解决方法

    Java 乱码问题是 Java 开发中常见的问题之一,解决这个问题需要了解 Java 的编码方式、JSP 中文乱码问题、Tomcat 5.5 中文乱码问题、JDBC ODBC Bridge 的 Bug 及其解决方法、Solaris 下 Servlet 编程的中文问题及...

    java乱码转换

    java 乱码 转换 utf

    Java乱码问题解决

    ### Java乱码问题详解与解决方案 #### 一、问题背景 在Java开发过程中,尤其是在处理中文字符时,经常遇到字符编码不一致导致的乱码问题。由于Java默认使用Unicode编码,而在中国大陆地区,常见的字符集为GB2312...

    关于java乱码学习的一点总结

    Java 乱码问题一直是开发者们头疼的问题之一,它涉及到字符编码的不同阶段,包括源文件编码、编译过程、运行环境以及网络传输等多个环节。本文主要针对这些方面进行深入的探讨和总结。 首先,我们需要理解“内码”...

    java乱码解决方案

    java乱码解决方案,在使用eclipse时出现的乱码问题,帮助解决

    java乱码终极必杀技

    本篇文章将深入探讨Java乱码问题的解决方法,为你提供终极必杀技。 首先,我们需要了解编码的基础知识。ASCII是最早的基础字符集,包含128个字符,而Unicode则是包含了世界上大多数语言字符的编码标准,如UTF-8、...

    java乱码的解决方案

    ### Java乱码问题及其解决方案 在Java开发过程中,字符编码问题常常导致中文显示为乱码。乱码问题可能出现在各种场景下,例如JSP页面、Servlet处理请求等。本篇文章将详细探讨Java乱码问题产生的原因及解决方案。 ...

    JAVA 乱码

    JAVA 乱码

    Java乱码解决方案

    以下是一些关于Java乱码解决方案的关键知识点: 1. **字符编码基础**:首先要理解的是字符编码,如ASCII、GBK、UTF-8等。ASCII只支持英文字符,GBK是中国常用的扩展GBK编码,而UTF-8是通用的多字节编码,能支持全...

    java乱码编译成中文类

    ### Java乱码与字符编码 在计算机中,每种字符都有对应的数字代码,这些数字代码通过不同的编码方式(如ASCII、UTF-8、GB2312等)进行存储和传输。当数据在不同系统或网络间传输时,如果发送方和接收方使用的字符...

    java乱码处理

    ### Java中文乱码处理 #### 一、Java中文问题的由来 Java作为一种跨平台的编程语言,其内部实现和class文件均基于Unicode编码,这为Java程序带来了优秀的跨平台特性。然而,这也同时带来了一些关于中文乱码的问题...

    Java乱码问题解决方法

    Java乱码问题解决方法,java乱码怎么解决,java项目乱码,java乱码处理,

    JAVA 乱码问题集合

    在Java编程中,乱码问题是一个常见的困扰,尤其是在处理字符编码时。以下是一些关键的知识点,可以帮助理解和解决Java中的乱码问题。 首先,我们需要理解字符编码的基本概念。字符编码是用来表示文本的一种方式,...

    字符集基础知识(描述解决java乱码问题的最详细的资料)

    字符集基础知识是编程领域不可或缺的一部分,特别是在处理多语言和国际化问题时。本文主要围绕字符集的概念,特别是如何解决Java中的乱码问题进行了详尽的解释。...通过深入学习和实践,所有Java乱码问题都将迎刃而解。

    Java乱码问题

    ### Java乱码问题详解 #### 问题描述与背景 在Java开发过程中,遇到“文件名.java:1: 错误: 编码GBK的不可映射字符”这类问题较为常见,尤其是在处理包含中文字符的代码文件时。这个问题通常出现在Windows操作系统...

    java乱码问题

    在探讨“Java乱码问题”这一主题时,我们首先需要理解字符编码的基本概念以及它在Java编程中的应用。字符编码是计算机系统用来表示文本的一种方式,它将字符映射为特定的二进制数,以便于存储和传输。常见的字符编码...

Global site tag (gtag.js) - Google Analytics