如果在其他编码类型的浏览器中显示源代码等文本文件,则会出现乱码。
我将解释如何在 HTML 中指定字符编码并纠正乱码。
1.什么是字符编码?
2. 编码类型是什么 代码与字符的对应关系 表
3. 指定HTML中的编码类型
4. 转换编码
一言以蔽之,就是“将字符数据转换为数值”。
计算机只能“以数字方式”理解数据。因此,在处理“字符”时,将其转换为“数值”并进行处理。这种转换称为字符编码。
为了让计算机理解“字母”,需要一个“数字”和“字母”的对应表。
该对应表有多种类型,要处理的对应表根据OS的类型而不同。例如,Windows 处理不同对应表中的文本,例如 Shift_JIS 和 UNIX 以及 UTF-8 中的 Mac。
该对应表称为编码类型,无论编码类型如何,都将相同的数字数据分配给字母表。因此,用英文编写的文本文件,即使显示在与创建它的计算机不同的计算机上,也不会出现乱码。
但是,分配给平假名和汉字的数值数据因编码类型而异。
然后,如果你在 Windows 上创建一个文本文件并在 Mac 上显示它,字符就会出现乱码,你将无法阅读它。
所有的操作系统都可以处理所有的编码类型,但是默认的编码类型不同,所以会出现乱码。
首先,您必须在 HTML 文件中指定要显示的页面上使用的编码类型。如果未指定,内容中的字符将被误解。
为此,请在编写源代码的 HTML 文件的 meta 元素中使用 charset 属性。
此外,语言是日语(lang = "ja"),因为假设字符会出现乱码。
如果要以 UTF-8 显示
- <!DOCTYPE html>
- <html lang="ja">
- <head>
- <meta charset="UTF-8">
- ・・・
如果要在 Shift_JIS 中显示
- <!DOCTYPE html>
- <html lang="ja">
- <head>
- <meta charset="Shift_JIS">
- ・・・
由于这个charset属性是从HTML5中添加的属性,所以在HTML5之前的HTML版本中通过如下方式描述。
HTML5之前如何指定字符代码
<meta http-equiv="content-type" content="text/html; charset=文字コード">
如果要在 HTML5 之前的版本中以 Shift_JIS 显示
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
使用编辑器查看 HTML 文件。
目前有很多文字是自动识别显示的,如果没有自动识别,需要自己从设置中切换编码类型。
这一次,我们将使用 VScode 在 Shift_JIS 中显示。
VS Code 的默认编码类型是 UTF-8。因此,当显示使用 Shift_JIS 创建的文本文件时,字符会出现乱码。
VS Code 默认具有转换编码类型的能力,因此转换不需要扩展。
点击 VS Code 屏幕底部显示的编码类型(默认为 UTF-8)
↓
从显示的菜单中选择“Reopen with encoding”
↓选择
“Japanese (Shift JIS)”
↓ 无
乱码 Shift_JIS 显示在