根据 babel 手册,在 2018 年之后,我不需要明确加载包inputenc
---“如果编码是 UTF-8”。那么,我怎么知道我的键盘实际写入的是哪种编码?我如何将其更改为 UTF-8?是否像将编辑器的编码设置为 UTF-8 一样简单?我是否必须更改操作系统中的区域设置?或者我必须更改键盘中的设置?
如果有所不同,我的键盘设置为英语国际键盘(这样我就可以轻松添加重音字符)。
答案1
您的键盘不会发送 utf-8 或其他字符。文件中的字符是经过编码的,请参见此处https://en.wikipedia.org/wiki/Character_encoding。
对于文本文件而言,任何通过键盘进行的输入都由文本编辑器控制,例如 Emacs、vim 等。
编辑器关心编码,例如对于 Emacs 参见https://www.emacswiki.org/emacs/ChangingEncodings:
当 Emacs 读取文件时,它会确定编码,读取文件,将其解码为内部表示,并将使用的编码系统存储在变量中,以便在保存文件时使用。保存时,使用存储的编码系统对缓冲区进行编码并再次写入文件。
文件名的编码完全不同,请参见此处:https://en.wikipedia.org/wiki/Filename
对于新文件,您可以根据每个文件或所有文件在编辑器中更改设置。
但是如果你更改设置,旧文件不会改变!因此请记住,使用旧文件(或旧模板)仍然需要包 inputenc 或 selinput,或者你需要重新编码文件,这是另一种情况。
我还没有检查 fontenc 包如何处理非 utf-8 文件。