`
zhengdl126
  • 浏览: 2531642 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

解决web服务器各种应用的乱码问题

阅读更多
http://bbs.chinaunix.net/viewthread.php?tid=381406

乱码问题:

(1)服务器端:
修改httpd.conf (在Redhat中放置的位置为/etc/httpd/conf/)
查找:
AddDefaultCharset ISO-8859-1
改成:

#AddDefaultCharset ISO-8859-1

AddDefaultCharset off

]

这种方式关掉了服务器的默认语言的发送,这样仅凭html文件头中设置的语言来决定网页语言。

很多文章都说通过修改为 AddDefaultCharset GB2312 把缺省语言改成GB2312来解决中文乱码,确实GB2312内码的网页可以正常显示了,但这并非万全之策。因为当你的网页内码不是GB2312,就算你 在网页用下面的meta指定了正确的语言,如ISO8859-1,也不会解码为ISO8859-1,因为Apache已经先你一步将GB2312指定为网 页的语言了,


(2)养成良好的习惯,在每个网页的<head>;</head>;的最前面加入这行:

    

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">;

  一般的中文版网页编辑工具(例如FrontPage、Dreamweaver等)都会自动加上这行。

3、如何解决中文文件名无法访问

 

 在ie中选择 工具 ->; internet选项 ->; 高级 ->; 取消“总是以UTF-8发送URL”。

UTF-8网页空白,在网页中加上metadata标识后,还需要手动调整编码為 utf-8 才能正常显示

如果使用的是Mozilla、Mozilla Firefox、Sarafi等其他目前流行的浏览器,通常就不会有这样的问题。

在网页的meta中指定用UTF-8:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />;

在<head>;</head>;之前,把"Content-Type"放在最前面,便可以解決这样的问题了。

原因:

IE 解析网页编码时是 HTML 內的标识优先的,然后是 HTTP header ;而mozilla 系列的浏览器刚刚好相反。

一般情况在,很多人是把<title>;</title>;排在最前面,并且在title中就出现了UTF-8中文,这样,IE 在解析时,就先遇到UTF-8,不往下解析了,因此必须把如果把meta放在UTF-8出现之前,这样IE才能判断这个网页是以UTF-8编码的。


总之:
无论是 PHP、JSP、ASP 或其他动态网页的脚本语言,如果需要作编码设定,最好放在最前面。

使用php,也可以定义php的默认语言.

php.ini中:

default_charset = "gb2312"

释掉此行,做了以上修改,一样是为了让浏览器根据网页头中的charset来自动选择语言,这样就可以在同台服务器上提供多种语言的网页服务。


java中文乱码的解决




在基于JAVA的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。
这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。

1、在网页中输出中文。

JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化,如:
String  str="中文";
str=new  String(str.getBytes("GB2312" ,"8859_1" ;
但如果在编译程序时,使用的编码是“GB2312”,且在中文平台上运行此程序,不会出现此问题,一定要注意。

2、从参数中读取中文

这正好与在网页中输出相反如:
str=new  String(str.getBytes("8859_1" ,"GB2312" ;

3、操作DB中的中文问题

一个较简单的方法是:在“控制面扳”中,把“区域”设置为“英语(美国)”。如果还会出现乱码,还可进行如下设置:
取中文时:str=new  String(str.getBytes("GB2312" );
向DB中输入中文:str=new  String(str.getBytes("ISO-8859-1" );

4、在JSP中的中文解决:

在“控制面扳”中,把“区域”设置为“英语(美国)”.
在JSP页面中加入:
如果还不行正常显示,则还要进行下面的转换:
如:name=new  String(name.getBytes("ISO-8859-1" ,"GBK" ;
就不会出现中文问题了。

CGI的?不知道对不?

找到CGI.pm,打开它,找到$self->;charset('ISO-8859-1');将它改为$self->;charset('GB2312');

-----------------------------------------一般在通过securecrt登陆到命令行的时候,经常会出现中文乱码的问题

一般来说可以使用下面的办法来解决

查看当前的语言
[root@dbpi html]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
测试删除某个不存在的文件夹提示
[root@dbpi html]# rm abcdafsdf
rm: cannot lstat `abcdafsdf': No such file or directory

将当前的语言改为中文
[root@dbpi html]# LANG=zh_CN.GB2312
[root@dbpi html]# locale
LANG=zh_CN.GB2312
LC_CTYPE="zh_CN.GB2312"
LC_NUMERIC="zh_CN.GB2312"
LC_TIME="zh_CN.GB2312"
LC_COLLATE="zh_CN.GB2312"
LC_MONETARY="zh_CN.GB2312"
LC_MESSAGES="zh_CN.GB2312"
LC_PAPER="zh_CN.GB2312"
LC_NAME="zh_CN.GB2312"
LC_ADDRESS="zh_CN.GB2312"
LC_TELEPHONE="zh_CN.GB2312"
LC_MEASUREMENT="zh_CN.GB2312"
LC_IDENTIFICATION="zh_CN.GB2312"
LC_ALL=
[root@dbpi html]# rm abcdafsdf
rm: lstat‘abcdafsdf’失败: 没有那个文件或目录

可见提示已经变成中文了

分享到:
评论

相关推荐

    解决web项目中出现的乱码问题,很方便

    在开发Web项目时,乱码问题常常困扰着开发者,它涉及到字符编码的处理,这是Web应用中的一个常见但至关重要的问题。本方案提供了一个简洁有效的解决方法,通过一个Java文件和在`web.xml`配置文件中的简单设置,可以...

    C++Http上传文件到web服务器,解决中文参数乱码

    在C++中,进行HTTP文件上传到Web服务器时,可能会遇到中文参数乱码的问题。这是因为HTTP协议本身并不处理字符编码,而是依赖于上层的应用层协议(如HTTP头或者POST数据)来处理字符集。当涉及到非ASCII字符,如中文...

    java web开发解决乱码问题

    ### Java Web 开发中解决乱码问题的全面指南 #### 一、乱码问题概述 在Java Web开发过程中,乱码问题是开发者经常会遇到的问题之一。它通常发生在处理含有中文或其他非ASCII字符的数据时。本篇文章将详细介绍在...

    解决Mysql数据库在web开发中乱码问题

    本文将详细探讨如何解决MySQL数据库在Web开发中的乱码问题,确保数据在各个环节都能正确地显示和处理。 ### 一、理解字符集与乱码产生的原因 在深入解决方案之前,我们首先需要了解字符集的基本概念以及乱码产生的...

    解决web中文乱码

    通过上述方式,你可以有效地解决Web应用中的中文乱码问题。当然,这只是众多解决方案之一,实际开发中还应考虑其他因素,如文件上传、API接口等场景下的编码问题。希望这个简单的Filter配置能够帮助你轻松应对Web...

    解决boa服务器get/post请求中文乱码问题

    Boa服务器是一个轻量级的Web服务器,适用于小型系统或嵌入式设备。在处理HTTP请求时,尤其是GET和POST请求,如果服务器没有正确配置以识别和处理中文字符,就可能出现乱码问题。中文字符通常以UTF-8编码发送,因此...

    WebOffice表单中参数乱码解决办法

    当Web服务器与客户端(如浏览器)之间的数据传输过程中,如果双方对字符编码的理解不统一,就会导致乱码现象。具体到WebOffice场景中,这种问题往往发生在: 1. **WebOffice与服务器端编码不匹配**:WebOffice默认...

    Java Web编程中页面跳转乱码问题的解决方案.pdf

    Java Web编程页面跳转乱码问题的解决方案 Java Web编程是互联网开发领域中应用十分广泛的工具。然而,在实际开发过程中,程序员常常会遇到页面跳转乱码的问题,尤其是中文乱码问题,这些问题不仅消耗程序员大量的...

    Java WEB开发中的中文乱码问题解决方法.pdf

    在Java Web开发中,中文乱码问题一直是开发人员面临的常见问题之一。中文乱码通常是由于在字符编码转换过程中,字符集不一致或设置不当所导致。为了解决这一问题,首先需要了解Java Web工程字符编码的基本理论,包括...

    J2ee应用中文乱码问题解决方案.doc

    总结来说,解决J2EE应用中文乱码问题的关键在于理解字符集的原理,并在每个可能引起乱码的环节进行相应的编码设置。通过统一编码标准,尤其是使用广泛支持的UTF-8,可以显著减少乱码出现的可能性。在开发过程中,...

    页面中文和后台服务器端接收中文乱码问题完全解决

    本文将详细介绍一种解决页面端或接收端(即后台服务器端)中文字符乱码问题的方法,该方法已经过多次验证,在多种应用场景下均能有效避免中文乱码问题的发生。 #### 原理分析 要彻底解决中文乱码问题,首先需要...

    Java Web开发中文乱码问题的研究与解决.pdf

    总之,Java Web开发中的中文乱码问题需要从多个层面进行检查和调整,确保数据在整个处理链路中的编码一致性,才能有效地避免和解决乱码问题。这需要开发者具备扎实的字符编码知识,并在实践中积累经验,以便在遇到...

    Java中文乱码问题研究.pdf

    2. 修改Web服务器编码属性:Web服务器的编码属性也可以影响Java Web应用程序的中文乱码问题。例如,在Apache Tomcat服务器中,可以修改server.xml文件中的encoding属性来解决中文乱码问题。 3. 使用过滤器:使用...

    Java Web程序开发中字符乱码的原因与解决办法.pdf

    以上所述的字符编码相关知识、乱码产生的原因以及解决办法,是Java Web程序开发者在开发过程中必须掌握的技术要点,能够确保网站和应用程序能够正确处理和显示各种字符信息,从而提升用户体验。

    web 开发中遇到的乱码问题

    在web开发过程中,乱码问题是一个常见的困扰,尤其是在处理文本数据时。乱码现象通常发生在字符编码不一致或处理不当的场景下。本篇将详细探讨这个问题,以及如何通过理解和运用正确的字符编码来解决它。 首先,...

    web开发乱码解决

    总之,解决Web开发中的乱码问题,需要从多个角度入手,包括但不限于服务器配置、Filter设置、JSP页面编码声明以及请求处理方式的选择。通过综合运用这些策略,可以有效地避免乱码的出现,确保Web应用在多语言环境下...

    jsp乱码解决方案 本方案解决了jsp常见的乱码问题

    本文将详细介绍如何有效地解决JSP中的乱码问题,并通过具体的代码示例来展示解决方案。 #### 二、乱码产生的原因 在深入探讨解决方案之前,首先需要了解乱码产生的原因。通常来说,乱码是由于客户端和服务器端之间...

    对Java Web应用开发中的中文乱码问题的研究与解决.pdf

    通过上述方法,可以有效地避免和解决Java Web应用中的中文乱码问题。理解字符编码的工作原理以及在Web开发中的应用,对于排查和修复这类问题至关重要。同时,随着技术的发展,现代Web框架(如Spring Boot)已经提供...

Global site tag (gtag.js) - Google Analytics