5、Solaris下Servlet编程的中文问题及解决办法
在使用Java开发Internet上的一个应用系统时,发现在Windows下调试完全正常的Servlet,上传到Solaris 服务器上,运行却出现故障——返回的网页不能显示中文,应为中文的信息全为乱码;用中文信息做关键字,不能正确检索数据库。后来采用加入检查代码等方法探知故障原因如下:
显示乱码主要是因为通过类 HttpServletResponse提供的方法setContentType 无法改变返回给客户的数据的编码方式,正确的编码方式应为GB2312或者GBK,而事实上为缺省的ISO8859-1。无法检索中文信息则是因为,客户提交的中文信息经浏览器编码到达服务器后,Servlet无法将其正确解码。
以下是引用片段: 举例说明显示乱码解决方法 Servlet 一般通常做法如下: public class ZldTestServlet extends HttpServlet { public void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{ //在使用 Writer向浏览器返回数据前,设置 content-type header ,在这里设置相应的字符集gb2312 response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); //* // 正式返回数据 out.println("〈html〉〈head〉〈title〉Servlet test〈/title〉〈/head〉" ); out.println("这是一个测试页!"); out.println("〈/body〉〈/html〉"); out.close(); } ... } |
解决页面显示乱码问题,需将*处代码换成如下内容:
PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(),"gb2312"));
Solaris中文信息检索问题的解决
浏览器利用表单向服务器提交信息时,一般采用x-www-form-urlencoded 的MIME格式对数据进行编码。如果使用get方法,参数名称和参数值经编码后附加在URL后,在Java中称作查询串(query string)。
在Servlet程序中,如果采用ServletRequest的方法getParameter取得参数值,在Solaris环境下,对汉字却不能正确解码。因而无法正确检索数据库。
在Java 1.2的包——java.net中提供了URLEncode和URLDecode类。类URLEncode提供了按x-www-form-urlencoded格式对给定串进行转换的方法。类URLEncode则提供了逆方法。
分享到:
相关推荐
乱码的处理!程序员永远无法避免的话题,解决乱码总汇
Java避免UTF-8的csv文件打开中文出现乱码的方法 在Java中,避免UTF-8的csv文件打开中文出现乱码的方法是非常重要的。csv文件是 comma separated values 的缩写,常用于数据交换和导入导出操作。然而,在Java中读取...
乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理文件乱码处理...
最后,报告中提到的“001▇本次薪酬调研岗位列表一X”可能是报告中岗位列表的一个部分,但由于扫描文本中出现了乱码,这部分内容的具体含义无法准确理解。但可以确定的是,岗位列表应该是详细的各行业或各部门岗位...
8. **注意事项**:确保在整个Web应用程序中保持编码的一致性,包括数据库连接、文件读写、响应输出等环节,都应使用相同的字符编码,以避免出现乱码问题。 总之,解决URL乱码问题需要理解URL编码机制,正确设置页面...
这一步骤的目的是避免服务器强制使用UTF-8编码,而是采用与客户端相匹配的编码格式进行通信,减少乱码的产生。 ### 四、总结 通过上述步骤,可以有效解决Serv-U9.x版本FTP服务器在处理中文文件名时出现的乱码和...
【乱码处理】在中国,程序员经常需要面对的一个挑战就是乱码问题,这主要源于中英文字符编码的不同。编码机制是导致乱码的核心原因,中文字符通常使用GBK或GB2312等编码,而英文字符则普遍采用ASCII或Unicode。如果...
oracle乱码解决功能 Oracle乱码解决功能是指在使用Oracle数据库时,汉字显示异常的解决方法。这种问题的产生是由于字符集的设置不当所致。字符集是Oracle为适应不同语言文字显示而设定的,用于汉字显示的字符集...
在处理乱码问题时,我们可以通过Filter来设置合适的字符编码,确保数据的正确解码和编码。 三、Filter实现中文乱码解决方案 1. 创建Filter类: 首先,我们需要创建一个实现javax.servlet.Filter接口的类,例如命名...
3. **处理中文乱码的步骤** - **确认编码格式**:首先确定客户端和服务器使用的字符编码格式,通常建议使用UTF-8,因为它具有良好的兼容性和可扩展性。 - **设置请求头**:在HTTP请求中,通过`Content-Type`字段...
在IT行业中,乱码问题是一个常见的困扰,尤其是在处理多语言环境或者进行数据传输时。"乱码处理操作类"指的是为了正确显示或处理文本而设计的特定代码类,通常用于解决Java SSH(Spring、Struts、Hibernate)框架下...
Java 中文乱码问题是一个常见的编程困扰,尤其对于处理中文字符的Java程序而言。这个问题通常源于字符编码...通过细心配置和适当地指定编码,我们可以有效地避免乱码问题,确保程序在各种环境中都能正确处理中文字符。
在C#编程中,处理汉字乱码问题是一个常见的需求,尤其是在读取或写入文本文件时。当在C#控制台应用中遇到汉字输出乱码的情况,这通常是因为编码不匹配所导致的。编码是字符集与二进制数据之间的转换规则,不同的系统...
综上所述,处理PDFMaker中的中文乱码问题主要涉及设置正确的字符编码,而内存溢出则需要通过优化代码、限制内存使用和使用适当的工具进行调试。在使用PDFMaker或其他类似工具时,理解并应用这些技巧将有助于提高代码...
乱码通常指的是字符显示不正确或无法识别,这可能由于编码格式不匹配、文件损坏、程序设置不当等原因引起。下面将详细讨论乱码产生的原因、解决方案以及如何预防。 一、乱码产生的原因 1. **编码格式不一致**:...
在默认情况下,`maven-javadoc-plugin`插件在生成Javadoc文档时采用的是ISO-8859-1编码格式,这种编码方式无法正确解析中文字符,从而导致中文乱码现象。 ##### 2.2 解决方案 - **POM文件配置** 在`pom.xml`文件...
### 中文乱码处理问题总结 #### 一、引言 在进行中文字符处理时,经常会出现乱码问题。这主要是因为不同的系统、程序或组件可能采用不同的编码方式,而这些编码方式之间的转换不当就会导致乱码现象。本文将重点...
3. **软件编码识别错误**:部分软件可能无法准确识别文件的编码格式,尤其是在处理非标准编码或混合编码的文件时。 **解决方法**: 1. **手动指定编码**:在编程时,可以显式指定文件的编码格式,例如在Java中使用...
这文件,我也不知为毛,下载后“文件名字”会出现一些乱码,请将乱码删除后,便可打开,不关我的事,是网站系统造成的! 好吧,这个中文手册,原来网上就有,但是哥下载后,发现字体尽其过份地小,看着很累,很不爽...
3. **JSP中的中文乱码处理** - **JSP页面头设置**:在JSP文件顶部添加`;charset=UTF-8" %>`,指定页面编码。 - **JSP标签乱码**:如果使用`<%= %>`或`<jsp:expression>`标签输出中文,需确保页面编码正确。 - **...