关于charset,vi(vim)和secureCRT的复杂性

时间:2012-07-25 08:07:48

标签: c character-encoding vi sys

关于charset的问题在编程时总是让我感到困惑,特别是当我的编程环境与生产环境不同时。 我使用secureCRT作为我的终端工具。只有在与内容的字符集一致时,我才能调整Options → Session options → Appearance → Character encoding以正确显示内容。但是当使用vi在secureCRT中输入/编辑/创建某些内容时,它会变得复杂。

有3个变量:

  1. 我的linux服务器的$LANG环境变量
  2. 我工作的计算机的$LANG环境变量
    • windows和secureCRT正在运行
  3. secureCRT设置
    • Options → Session options → Appearance → Character encoding
  4. 如果这3个变量不统一,那么我输入vi(vim)的任何中文字符都会显示为乱七八糟(即A = UTF-8,B = GBK,C = GBK(GBK是中文) )。这非常复杂。 vi接受来自我的IME(谷歌中文IME)的字节,这些字节对于GBK中的中文字符(变量B)是正确的。但是,secureCRT根据GBK(变量C)将这些字节显示为字符。我的问题是为什么它显示不正确?

    如果我绕过vi(vim)但使用相同的A,B,C变量集(即如果我在Windows中创建GBK文件并将其上传到我的服务器)那么vi(或更多/更少/ cat)文件,所有字符都正确显示。使用vi创建一些中文内容和使用vi仅显示文件内容有什么区别?当我使用IME键入vi时发生了什么?

    我认为这个问题对我们彻底理解charset / font非常有用。非常感谢你对此提出的任何建议。

0 个答案:

没有答案