`
tjgamejx2
  • 浏览: 887 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

还是Java编码问题

阅读更多
最近在做一个Java接口程序,其中我们制定的协议中,有一个Encode字段,也就是代理商传参的编码格式,如果缺省或者不指定,则用gb2312格式,但是也允许他指定别的格式。
于是问题就来了:
String encode = request.getParameter("Encode");
request.setCharacterEncoding((encode==null||encode.equals(""))?"gb2312":encode);

这样解决不了乱码问题,因为在request.setCharacterEncoding之前已经用过request获取参数了。也就是说,必如果getParameter之前使用过setCharacterEncoding这个方法,就解决不了乱码问题。

我也想进行逐个字段进行编码,但是,协议字段非常多,代理商传的字段个数是不确定的,我用的getParameterMap方法,k->v,中的V是数组,要转换未免太麻烦,不知道有没有什么好一点的解决方法
分享到:
评论
6 楼 tjgamejx2 2009-12-16  
quaff 写道

request.getParameter("Encode") 改成从queryString里面解析,一旦调用了getParameter方法,encoding就定下来了重设没用

是啊,请问queryString咋用,给个例子
5 楼 quaff 2009-12-16  
tjgamejx2 写道
最近在做一个Java接口程序,其中我们制定的协议中,有一个Encode字段,也就是代理商传参的编码格式,如果缺省或者不指定,则用gb2312格式,但是也允许他指定别的格式。
于是问题就来了:
String encode = request.getParameter("Encode");
request.setCharacterEncoding((encode==null||encode.equals(""))?"gb2312":encode);

这样解决不了乱码问题,因为在request.setCharacterEncoding之前已经用过request获取参数了。也就是说,必如果getParameter之前使用过setCharacterEncoding这个方法,就解决不了乱码问题。

我也想进行逐个字段进行编码,但是,协议字段非常多,代理商传的字段个数是不确定的,我用的getParameterMap方法,k->v,中的V是数组,要转换未免太麻烦,不知道有没有什么好一点的解决方法


request.getParameter("Encode") 改成从queryString里面解析,一旦调用了getParameter方法,encoding就定下来了重设没用
4 楼 tjgamejx2 2009-12-16  
代理商------post---->支付接口------socket------->后台
最初约定gb2312,上头硬要支持别的格式,改为默认为gb2312,若用别的编码,则带一个ecode。然后我request.getParameter("ecode").
我的办法:使用ecode对字段逐个解码,很麻烦。
filter,不是一样要request.getParameter?,既然用了这个方法,request.setParameter就无效。
3 楼 GRDJE 2009-12-16  
所以把你的宝贝场景讲讲清楚, 你是怎么 和你的宝贝代理商接口的
你就是把一个url给你的代理商, 让他提交?
2 楼 tjgamejx2 2009-12-16  
GRDJE 写道
不知道你啥特殊场景

这年头不会filter也没听说过吧

encoding是需要对方给我传过来的,这个filter我怎么去写
1 楼 GRDJE 2009-12-16  
不知道你啥特殊场景

这年头不会filter也没听说过吧

相关推荐

    java乱码问题解决方法

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

    java中文乱码问题详解--- java中文乱码问题详解

    #### 三、Java编码转换的详细过程 Java程序从开发到运行的过程中,涉及到多个环节的编码转换,主要包括: 1. **源文件编码**:Java源文件(`.java`)在保存时通常采用操作系统默认的编码格式。例如,在中文Windows...

    JAVA 乱码问题集合

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

    Java开发乱码问题解决方法汇总

    Java开发乱码问题解决方法汇总 Java开发中乱码问题是非常常见的问题之一,而解决这些问题需要具备一定的技术知识和经验。在本文中,我们将总结一些常见的Java开发乱码问题解决方法,希望能够为读者提供帮助。 1. ...

    java获取乱码问题

    在Java应用开发过程中,字符编码问题一直是困扰开发者的一大难题,尤其是在处理HTTP请求中的中文或特殊字符时,经常会出现乱码现象。本文将详细介绍如何通过修改`server.xml`配置文件来解决Java应用中出现的乱码问题...

    java中文乱码解决问题

    JAVA 中文乱码解决问题 JAVA 中文乱码问题是开发过程中常见的问题之一,解决这个问题需要了解乱码产生的原因,然后对症下药。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。 1. 以 POST 方法提交的...

    java中文乱码问题解决

    "Java中文乱码问题解决" ...解决Java中文乱码问题需要了解编码的基本原理和各种编码格式的区别,并了解Java中常见的编码格式和应用场景。只有这样,才能更好地避免乱码问题,提高Java开发的效率和质量。

    Java乱码问题解决

    在Java开发过程中,尤其是在处理中文字符时,经常遇到字符编码不一致导致的乱码问题。由于Java默认使用Unicode编码,而在中国大陆地区,常见的字符集为GB2312(GB18030)或GBK,在台湾地区则多使用Big5编码。这些...

    Java关于中文乱码问题的多种解决方法

    在Java编程中,中文乱码问题是一个常见的困扰,尤其是在处理文件读写、网络传输或数据库操作时。本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中...

    java中文乱码问题

    今天,我们将从编码角度分析 Java 编译后在控制台和 Web 等终端显示乱码问题。 一、 Java 处理字符的原理 Java 使用 UNICODE 来存储字符数据,处理字符时通常有三个步骤:按指定的字符编码形式,从源输入流中读取...

    java压缩zip文件解决中文乱码问题

    总结来说,处理Java中ZIP文件的中文乱码问题,关键在于明确指定字符集,通常是UTF-8,无论是使用Java内置的API还是第三方库。同时,理解文件系统的编码和压缩/解压过程中的字符编码转换也非常重要。通过这种方式,...

    Java乱码问题

    3. **对于已存在的Java文件**,如果之前保存时使用的是GBK编码格式,并且在编译时出现了乱码问题,可以通过转换文件的编码格式来解决。 - 将文件另存为ANSI格式。尽管这种方法看起来简单粗暴,但它实际上是一种有效...

    java中文乱码之解决URL中文乱码问题的方法

    总之,解决Java中的URL中文乱码问题需要理解URL编码的原理,并在客户端和服务器端采取相应的措施,确保编码和解码的一致性。无论是通过JavaScript编码、Java服务器端解码,还是调整服务器配置,关键在于确保字符集的...

    Java 中文乱码问题

    总结一下,Java中文乱码问题的解决主要依赖于以下几个关键点:正确设置源代码的编码、指定JVM的字符编码、理解并正确处理文件和网络通信的字符编码。通过细心的检查和配置,大部分乱码问题都能得到解决。同时,了解...

    java中文乱码大全

    4. 跨平台运行问题:Java程序从一种操作系统移植到另一种操作系统时,由于编码格式的不一致性,可能会产生中文乱码问题。 针对上述问题,可以采取以下方法来解决Java中文乱码问题: 1. 统一编码格式:在Java程序中...

    Java Http请求传json数据乱码问题的解决

    综上所述,解决Java HTTP请求传JSON数据乱码问题的关键在于确保前后端传输过程中字符编码的一致性。在JavaScript中,确保使用UTF-8编码序列化JSON对象,在Java服务端,使用`URLDecoder.decode`方法以正确的字符集...

    java读写csv文件,中文乱码问题

    总的来说,处理Java中CSV文件的中文乱码问题主要涉及正确设置字符编码,而给定的.NET DLL文件与此问题的解决没有直接关联。如果你在.NET环境中遇到类似问题,可以参考.NET的编码处理方式,或者寻找适合的.NET库来...

    java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose

    java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 ...

    JAVA常见中文乱码问题解决方法

    Java编程语言在处理中文字符时可能会遇到乱码问题,这主要源于Java的源代码编码、JVM处理class文件以及不同操作系统、数据库系统之间的编码不一致。本文深入剖析了Java中文问题的根源,并提供了相应的解决方案。 一...

Global site tag (gtag.js) - Google Analytics