`
jhcknde
  • 浏览: 5236 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • wbbjwg: 我想问一下,如果我导出的时候要让用户自行选择存放位置,要怎么实 ...
    JSP导出Excel文档

关于字符编码

阅读更多

我们知道在学习php和jsp的时候,出现乱码是经常性的事情,怎样来一劳永逸的解决这个问题,我来做个总结。

 

首先来了解一下字符集,我们关心的字符集大概有这么几个,iso-8859-1、gb2312、gbk、utf-8,其中iso-8859-1是采用1个字节进行编码,而gb2312和gbk则是在其基础之上使用双字节来对汉字进行编码,而utf-8使用了3个字节编码,因此它容纳了几乎所有字符,包括中国、日本和韩国的表意字符。这也就不难理解为什么字符集设置错误会导致乱码了。

 

再来看一下在编程的过程中有哪些地方涉及到字符集的设置,本质上只有两个地方,文件本身的字符集和浏览器解析时使用的字符集,当然数据库也存在字符集的设置(其实数据库本质和文件没有区别),那怎样才能避免乱码呢?我们用保证字符集的一致性,那就是数据库、文件、浏览器3者使用的字符集是一致的,要么都是gb2312,要么都是utf-8,当然iso-8859-1不行,它不支持中文。 数据库在建库和建表时可以设置字符集,文件在保存的时候可以选择字符集,那么浏览器的字符集怎么设置呢,首先浏览器由一个默认字符集,在中文操作系统下一般默认为gb2312,如果不进行设置,它就是解析文件的字符集;那应该怎么设置呢,有两种方法,一种在html中设置,即使用meta标签,在meta标签里面制定Content-type就可以了,meta标签是用来模拟http头信息的,另外一种就是在编程语言进行设置,我们可以像http header里面添加一个Content-type来制定字符集,如php里面的header()结构.

 

可是万一我们不能控制数据库或某些文件的编码了,那应该怎么处理呢,例如你现在所有的项目都是采用的utf-8(建议都这样使用),可是数据里面的数据却是gb2312,后者某个远程文件是使用gb2312编码,这些是你无法修改的,我们只有在程序中进行修改,如在php里面提供了iconv函数和mb系列函数进行字符的编码修改。 总之,一句话,让项目的所有地方保持编码一致性,无法控制的部分用字符集转化函数来改变它。

 

 

 

分享到:
评论

相关推荐

    关于 字符编码的 转换 知识

    ### 关于字符编码的转换知识 #### 一、引言 字符编码是在计算机科学领域内一个重要的基础概念,它涉及到如何在计算机系统中存储、处理和传输文本信息。随着信息技术的发展,不同地区和文化背景下的用户对字符的...

    字符编码

    在描述中提到的“博文链接”是一个关于字符编码问题的讨论,虽然具体内容没有给出,但通常这类问题可能涉及Java编程语言中遇到的字符编码问题。在Java中,字符编码问题往往出现在输入输出流的处理、字符串的转换或者...

    字符编码文档

    ### 字符编码与Unicode...通过以上分析,我们可以看到,《字符编码文档》不仅是一份关于字符编码的技术文档,更是Unicode标准精神的体现——即在全球化背景下,促进语言多样性的同时,确保信息的无缝流通和准确传达。

    中英文字符编码查询_V1.1.rar

    5. **教程与帮助**:软件内可能包含关于字符编码、STM32字库配置以及如何在嵌入式系统中使用这些编码的教程和指南,帮助初学者快速上手。 在实际应用中,开发者可以利用这款工具快速查找并处理字符编码问题,提高...

    字符编码过滤器 字符编码转换 post字符转换

    本文将深入探讨"字符编码过滤器"、"J2EE字符编码"、"字符编码转换"以及"POST字符转换"这些关键知识点,并结合提供的文件"encoding-filter.jar"和"使用方法.txt"来解释它们的应用。 首先,字符编码是计算机存储和...

    判断字符编码格式代码

    根据给定文件的信息,我们可以总结出以下关于“判断字符编码格式代码”的相关知识点: ### 一、背景介绍 在计算机科学领域,字符编码是将文本转换为数字表示的方法,以便于计算机存储和处理。常见的字符编码包括...

    字符集编码的存储结构及其算法描述.rar_存储编码

    本资料包包含两个文件:`字符集编码的存储结构及其算法描述.txt`和`www.pudn.com.txt`,它们可能提供了关于字符编码存储结构和算法的详细信息。 首先,我们要理解字符集编码的基本概念。字符集编码是一种将字符映射...

    工具-字符编码转换

    本文将基于“工具-字符编码转换”的主题,深入探讨字符编码的概念、常见编码格式、字符编码转换工具以及如何进行实际操作。 字符编码是计算机表示和处理文字的一种方式,它将各种字符与二进制数字对应起来。常见的...

    中英文字符编码查询工具

    在IT领域,字符编码是计算机处理文本数据的基础。字符编码定义了如何将字符与数字(通常是整数)关联,使得计算机能够存储、处理和传输文本信息。本工具“中英文字符编码查询工具”专注于帮助用户快速查询中文和英文...

    字符编码 自动识别 编码类型

    字符编码是计算机处理文本的关键部分,它决定了如何将人类可读的字符转化为二进制数据进行存储和传输。在IT领域,尤其是编程和文件处理中,理解不同的字符编码至关重要,因为错误的编码设置可能导致乱码问题。本篇将...

    关于字符集编码

    字符编码则是一套规则,规定如何将这些字符转换为计算机可以处理的数字代码。 计算机内部信息以二进制形式存储,而人们看到的字符(如英文字母、汉字等)则是二进制数转换后的结果。字符编码和解码的过程类似于加密...

    关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    ### 关于JAVA字符编码:Unicode, ISO-8859-1, GBK, UTF-8 编码及相互转换 在Java开发过程中,字符编码是处理文本数据的基础,不同的编码方式会影响数据的存储、传输以及显示。本文将详细介绍几种常见的字符编码...

    计算机编码与Unicode(PPT课件)

    总的来说,《计算机编码与Unicode》的PPT课件提供了关于字符编码系统的全面概述,包括它们的历史、工作原理以及在实际应用中可能遇到的问题。通过学习这些知识,开发者和IT专业人员能够更好地处理和解决涉及多语言的...

    MyEclipse下的字符编码和外部编辑器和Tomcat配置.pdf

    首先,关于字符编码的配置,确保项目中的所有文件采用UTF-8编码至关重要,因为UTF-8能够支持全球多种语言,避免乱码问题。在MyEclipse中,你可以通过以下路径进行设置: 1. 进入`Window`菜单,选择`Preferences`。 ...

    字符编码的理解

    标题“字符编码的理解”涉及到的是计算机领域中关于信息表示的基础知识,特别是字符集与编码方式。字符编码是计算机处理文本时的关键环节,它允许我们用二进制数据来表示各种字符,包括汉字、英文、数字以及其他语言...

    Java中字符集的详细介绍

    以下是一些关于字符编码的进一步说明: 1. **ASCII编码**:仅包含128个基本的拉丁字母、数字和符号,每个字符占用一个字节。 2. **GBK编码**:是中国大陆广泛使用的编码,扩展了ASCII,包含了大部分汉字和其他一些...

    文本文件的编码方式转换

    - 学习更多关于字符编码的知识,例如Unicode标准、编码转换的算法原理等。 - 探索其他编程语言中实现文件编码转换的方法和技术。 - 研究如何在Web开发中处理客户端与服务器间的字符编码差异。 通过对上述知识点...

    字符转换示例程序

    标题中的“字符转换示例程序”表明这是一个关于字符编码或者字符串处理的编程示例,它可能涉及了将一种字符格式转换为另一种字符格式的过程。在IT领域,字符转换是常见的需求,例如在处理多语言文本时,需要进行UTF-...

    flash actionscript3 as3 字符编码转换代码.zip

    这个压缩包文件包含了一些关于AS3中字符编码转换的关键知识点。 首先,`ByteArray` 对象是AS3中处理二进制数据的基本工具,它可以用来读写各种数据类型,包括字符串。`writeMultiByte()` 方法是`ByteArray`的一个...

    C 代码 复制具有 使用 ROT13 编码和 ROT5 编码进行数字编码.rar

    在IT行业中,编程是核心技能之一,而C语言作为基础且高效的编程语言,常常用于系统级编程和嵌入式开发。...无论是初学者还是经验丰富的开发者,都可以从中学习到关于字符编码、字符串处理和C语言编程实践的知识。

Global site tag (gtag.js) - Google Analytics