“utf8” 和 “UTF-8” 实际上是同一种编码方式,即 Unicode Transformation Format - 8-bit。这种编码方式是一种用于在计算机系统中存储和传输 Unicode 字符的可变长度字符编码。
因此,在实际使用中,“utf8” 和 “UTF-8” 可以互换使用,不会有实质性的区别。
在编程或文档中,通常会看到 “UTF-8” 这种形式,因为它更符合规范和标准的书写习惯。
而 “utf8” 则可能更多地出现在一些非正式场合或特定环境中。
总的来说,无论是使用 “utf8” 还是 “UTF-8”,都是表示同一种字符编码方式,只是书写形式略有不同。
在实际应用中,建议遵循常见的规范,使用 “UTF-8” 这种标准形式。
只有在 MySQL 中可以使用“utf-8”的别名“utf8”,但是在其他地方一律使用大写“UTF-8”。
具体为: 在命令 mysql_query(set names utf8)
外一律用大写“UTF-8”。
在数据库中只能使用“utf8”(MySQL)
在 MySQL 的命令模式中只能使用“utf8”,不能使用“utf-8”,也就是说在 PHP 程序中只能使用“set names utf8(不加小横杠)”,如果你加了“-”此行命令将不会生效,但是在 PHP 中 header 时却要加上“-”,因为 IE 不认识没杠的“utf8”,原因见下文。
PHP 中的 header:
1 | header('Content-Type: text/html; charset=UTF-8'); |
静态文件使用:
1 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
在浏览器中只能使用“utf-8”(IE) IE 中如果使用了“utf8”,页面可能会 空白 或 显示为乱码。
但是在其它浏览器却是正常的,原因是因为:其它浏览器默认使用的是 UTF-8 的编码,如果无法识别页面的编码就会用默认的 UTF-8 来解码,但是 IE 的默认编码是 GB2312,所以默认的话就会出现乱码显示(其它浏览器指“FireFox”、“Chrome”、“Opera”)。