utf8 和 UTF-8 在使用中的区别

在使用中常常遇到utf-8和utf8,现在终于弄明白他们的使用不同之处了,现在来和大家分享一下,下面我们看一下utf8 和 UTF-8 有什么区别。
 “UTF-8”是标准写法,php在Windows下边英文不区分大小写,所以也可以写成“utf-8”。“UTF-8”也可以把中间的“-”省略,写成“UTF8”。一般程序都能识别,但也有例外(如下文),为了严格一点,最好用标准的大写“UTF-8”。

在数据库中只能使用“utf8”(MySQL) 在MySQL的命令模式中只能使用“utf8”,不能使用“utf-8”,也就是说在PHP程序中只能使用“set names utf8(不加小横杠)”,如果你加了“-”此行命令将不会生效,但是在PHP中header时却要加上“-”,因为IE不认识没杠的“utf8”,原因见下文。

PHP中的header:

<?php header(‘Content-Type: text/html; charset=UTF-8‘); ?> //奇怪了:Content-Tyep用冒号,Chatset却是等号。
静态文件使用:
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

总结:只有在MySQL中可以使用“utf-8”的别名“utf8”,但是在其他地方一律使用大写“UTF-8”。
具体为:
  在命令“mysql_query(set names utf8)”外一律用大写“UTF-8”。

时间: 2024-11-08 15:41:24

utf8 和 UTF-8 在使用中的区别的相关文章

MySQL 和 Oracle 在 MyBatis 使用中的区别

MySQL 和 Oracle 在 MyBatis 使用中的区别: 区别 MySQL Oracle 存储过程的参数模式 mode 为 IN 时,是否需要指定 jdbcType 不需要:MyBatis 为 IN 模式提供了默认的 jdbcType,没有为 OUT 模式提供 如果入参存在 null 的情况,需要 存储过程的参数模式 mode 为 OUT 时,是否需要指定 jdbcType 需要 需要 是否支持游标参数 不支持 支持 原文地址:https://www.cnblogs.com/cag205

UTF-8和UTF—8Bom的区别

在我们通常使用的windows系统中,我发现了一个有趣的现象.我新建一个空的文本文档,点击文件-另存为-编码选择UTF-8,然后保存.此时这个文件明明是空的,却占了3字节大小.原因在于:此时保存的编码方式自动会变为UTF-8 BOM 一.一个汉字在不同的编码方式中占多少字节? 1.在UTF-8中,一个汉字占3个字节(一个字符占一个字节) 2.在ASCII码中,一个汉字占2个字节(一个字符占一个字节) 3.在Unicode编码中,一个汉字占2个字节(一个字符同样占两个字节,所以JAVA中char

Python中utf-8与utf-8-sig两种编码格式的区别

As UTF-8 is an 8-bit encoding no BOM is required and anyU+FEFF character in the decoded Unicode string (even if it's the firstcharacter) is treated as a ZERO WIDTH NO-BREAK SPACE. UTF-8以字节为编码单元,它的字节顺序在所有系统中都是一様的,没有字节序的问题,也因此它实际上并不需要BOM("ByteOrder Mar

GB2312,GBK,GB18030,UTF8四种汉字编码标准有什么区别和联系

 从GB2312.GBK 到 GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符.在这些编码中,英文和中文可以统一地处理.区分中文编码的方法是高字节的最高位不为 0.按照程序员的称呼,GB2312.GBK 到 GB18030 都属于双字节字符集 (DBCS). 以下是这四种字符集的包含关系:GB2312 < GBK < GB18030 < UTF8 ---------------------------------------

转载:ResultMap和ResultType在使用中的区别

在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置. 因此对于单表查询的话用resultType是最合适的.但是,如果在写pojo时,不想用数据库表中定义的字段名称,也

ResultMap和ResultType在使用中的区别

在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置. 因此对于单表查询的话用resultType是最合适的.但是,如果在写pojo时,不想用数据库表中定义的字段名称,也

ALAsset中fullScreenImage和fullResolutionImage使用中的区别

// fullScreenImage可以直接初始化为UIImage UIImage *tempImg = [UIImage imageWithCGImage:asset.defaultRepresentation.fullScreenImage]; // 需传入方向和缩放比例,否则方向和尺寸都不对 UIImage *tempImg = [UIImage imageWithCGImage:asset.defaultRepresentation.fullResolutionImage        

mysql中utf8编码的utf8_bin,utf8_general_cs,utf8_bin的区别

utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用. utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果 utf8_bin: compare strings by the binary value of each character in the string 将字符串每个字符串用二进制数据编译存储. 区分大小写,而且可以存二进制的内容 举例说明: 如果你的Sql查询语句: where first_name="Bob"

Ascii、ANSI、unicode和utf-8的详解和区别

今天小伙伴问我ansi和ascii的区别,unicode是什么东西.我竟无言以对,然后通过查找资料,整理如下,方便以后复习之用. 1.  ASCII和Ansi编码 字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码. 双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编