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

页面编码与乱码的关系及乱码的解决(字符集与乱码相关)

阅读更多
    【原创,转帖请注明转自javaeye,lllt】  

    目前常见字符集有:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。平时用在网页上用的较多的charset为 GB2312 和 UTF-8 (有时中文页面也会用到GBK)。当然 GB2312使用的是GB2312字符集;而UTF-8使用的是Unicode字符集,是Unicode的其中一个使用方式。(建议去百度百科看看“字符集”)

    网页的编码有何作用?
 
    通俗的说,网页编码是网页的另一种语言,是网页传输过程中所需使用的语言,编写网页时,编辑器会将页面按照指定或者默认的编码格式进行编辑(相当于编程语言的编译过程),因为计算机本身不懂得英文和汉语,只会通过指定的数字来对应相关的字符,这也就是字符集的意义所在。

   为何出现乱码?

    服务器端将“编译”(注意引号,这里并非程序语言中的编译)好的页面代码传输给客户端。在浏览器端,浏览器会根据网页的 charset 属性来选择合适的字符集进行解释。
    因为不同字符集中,指定数字所对应的字符不一致,因此如果浏览器端和本身页面的字符集对应出错,那么就会出现乱码!

    为什么会出现字符集对应出错呢?

    文本编辑器(包括做前端常用的Dreamweaver和记事本等)在保存文本时(比如html文件)会按照预设的字符集进行编码。那么在解释这些编码的时候就会要与编译时的字符集对应才能正确的显示出来。
    Dreamweaver,做前端最常用到的工具,关于怎么设置默认字符集我想都知道,这个工具在CS5版本以前,直接更改 charset 属性是无法直接将文本的编码格式更改的(CS5中可以直接更改charset 属性来更改编码格式),这也就造成了更改了charset 属性,而文档本身的编码格式却仍是原来的编码格式,浏览器在解释网页的时候会根据charset属性来选择相应的编码格式,这样就造成了字符集匹配不起来,出现乱码。这种情况可以在浏览器端手动更改浏览器的编码来获得正常的网页。
    记事本也有编码格式,在“字体”选项下面。

   浏览器的解释

    浏览器是通过检查
   
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    来使用相应的字符集解释的,如果charset属性指定的编码格式与文档本身的字符集不符,就会出现乱码。
    如果没有指定相应的字符集,浏览器会根据默认的字符集进行解释(多数默认为utf-8)

    解决

    唯一的方法是使得文档的编码和指定的编码一致。
    在Dreamweaver中,gb2312编码格式下,“代码”模式中的英文字体是“宋体”,而utf-8编码格式下,“代码”模式中的英文字体会变小,可根据这个来判断文档的编码格式,并对应
相应的charset。
分享到:
评论

相关推荐

    java字符集编码乱码详解

    ### Java字符集编码乱码详解 #### 一、编码与乱码基础知识 在计算机科学领域,字符集(Character Set)是指一系列符号和电子通信代码的标准集合。每种字符集都有其特定的应用场景和优势。例如,ASCII(American ...

    字符集和乱码解决方案

    字符集和乱码解决方案 字符集是计算机中用于表示文本的编码方式,字符集的不同可能会导致乱码问题。在Java中,乱码问题是常见的问题之一,本文将讨论字符集和乱码解决方案,帮助开发者解决乱码问题。 字符集简介 ...

    关于GBK和Unicode字符集转换乱码问题

    本文将深入探讨GBK与Unicode这两种字符集之间的转换问题,特别是在转换过程中出现乱码的原因及解决方法。 #### GBK与Unicode简介 - **GBK**(GB2312-80的扩展):这是一种简体中文字符集标准,由中华人民共和国...

    linux 下oracle中文乱码字符集设置

    Linux 下 Oracle 中文乱码字符集设置 Linux 下的 Oracle 数据库在导入数据库时出现中文乱码问题,这是因为 Oracle 数据库中的字符集格式不支持中文。解决方法是通过修改字符集格式,将其修改成支持中文的格式,这样...

    乱码解决 乱码解决 乱码解决 乱码解决 乱码解决

    4. **程序配置不当**:编程语言或者应用程序的编码设置不正确,例如在Java中未指定正确的字符集,可能会导致乱码。 5. **网络传输问题**:在网络传输过程中,如果文件的编码信息丢失,或者传输过程中数据损坏,也...

    深入理解字符编码(字符集 字符编码 字符显示 乱码问题)

    文档中主要介绍了各类字符集以及相关的字符编码,字符的显示原理,从输入到显现的整个过程,程序中出现的乱码问题以及解决方案

    解决gb2312编码导致乱码问题

    6. **数据库存储**:如果数据需要存储到数据库,确保数据库的字符集设置与应用使用的编码一致,避免再次产生乱码。 在提供的文件`gbk.js`中,可能包含了专门用于处理gb2312编码的JS函数或工具,用于在IE环境下进行...

    Linux系统中文乱码解决完整方案

    * 解决 Linux 系统中文乱码问题需要修改 Linux 系统的默认字符集,使其与 Windows 系统的一致。 * 使用 Putty 代替 Secure Shell Client 可以解决中文乱码问题,但不能彻底解决问题。 * 修改 Linux 系统的默认字符集...

    jdbc连接oracle字符集不同出现乱码

    ### JDBC 连接 Oracle 字符集不同导致乱码问题解析及解决方案 #### 问题背景 在使用 JDBC(Java Database Connectivity)连接 Oracle 数据库时,可能会遇到一个常见的问题:从远程 Oracle 数据库获取的数据出现乱码...

    MYSQL字符集乱码的解决

    ### MySQL字符集乱码问题及解决方案 #### 一、问题背景 在使用MySQL数据库时,很多用户会遇到中文字符显示为乱码的情况。这通常是因为MySQL数据库中的字符集设置不一致导致的。例如,在命令行下操作MySQL时,可能会...

    java中文乱码字符集解决大全.pdf

    - **JSP与Servlet**:在JSP中,可以使用`&lt;%@ page pageEncoding="GBK" %&gt;`指定页面编码;对于Servlet,可以在HTTP响应头中设置`Content-Type: text/html; charset=GBK`。 4. 跨平台移植和浏览器支持 Java程序需要...

    winform的字符串转换乱码解决

    4. 数据库编码匹配:确保应用程序使用的数据库连接字符串和数据库服务器的字符集设置相匹配。例如,MySQL中可以设置UseUnicode=true&characterEncoding=utf8。 三、代码示例 以下是一个简单的使用UTF-8编码读取...

    MYSQL字符集与乱码问题分析

    《MySQL字符集与乱码问题分析》一文深入探讨了字符编码的历史背景、技术细节以及在MySQL中的应用,尤其关注解决常见的乱码问题。本文将根据提供的内容摘要,详细阐述其中涉及的关键知识点。 ### 字符集背景知识 ##...

    oracle修改字符集,解决乱码问题.

    oracle修改字符集,解决乱码问题.

    python抓取并保存html页面时乱码问题的解决方法

    不同的编码方式对应不同的字符集,因此在处理文本时必须确保编码的一致性。 乱码问题通常由以下两个原因造成: 1. **编码设置错误**:在读取或写入文件时,如果没有正确指定编码,Python会使用默认的系统编码,这...

    oracle数据库字符集 无法修改数据库字符集 乱码

    在Oracle数据库管理中,字符集的设置至关重要,它直接影响到数据的存储、检索以及与之交互的准确性。本文将深入探讨Oracle数据库字符集的概念、重要性、修改过程及其潜在问题,特别是当尝试修改数据库字符集时遇到的...

    设定mysql字符集解决终端乱码

    ### 设定 MySQL 字符集解决终端乱码 在处理数据库操作时,经常遇到的一个问题是字符集编码不一致导致的数据乱码问题。对于 MySQL 数据库来说,合理设置字符集可以有效避免此类问题的发生。本文将详细介绍如何通过...

    oracle 字符集乱码解决

    如WE8ISO8859P1或US7ASCII,而这两个字符集都没有汉字编码,虽然有些时候选用这种字符集好象也能正常使用,但用这种字符集存储汉字信息从原则上说就是错误的,它会给数据库的使用与维护带来一系列的麻烦。...

    MySQL字符编码及乱码解决方案.txt

    MySQL字符编码及乱码解决方案 · 使用多种字符集来存储字符串 · 使用多种校对规则来比较字符串 · 在同一台服务器, 同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合字符串 · 允许定义任何级别...

    JSP中文编码理论及乱码产生原因及问题解决

    4. 数据库配置:在数据库连接字符串中指定字符集,确保与数据库表的字符集一致,例如MySQL的URL可以设置为`jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8`。 5. 对接API或服务:与其他...

Global site tag (gtag.js) - Google Analytics