【发布时间】:2019-05-09 19:38:31
【问题描述】:
使用 Rails 5.2 和 Ruby 2.3(ruby 文件默认为 UTF-8)。
如果我在终端检查文件:
file -I <filename>.rb
它显示 UTF-8:
<filename>.rb: text/x-ruby; charset=utf-8
但文件中有一个带有德语变音符号的字符串,如您在屏幕截图中所见。
在 Ruby 的 v2.0 之前,您可以使用 magic comments 告诉 Ruby 文件编码,但显然这个文件已经是 UTF-8。
我想弄清楚的是两件事:
UTF-8 文件是如何在其中获取这个 US-ASCII 字符的?
我该如何修复它(所以 VS-Code 没有显示它不正确)?我想知道是否可能与 VS-Code 中的扩展或设置有关?
在回答 (1) 时,我猜它可能是从编码为 US-ASCII(如 Word)的文件中复制和粘贴的?
但是,如果我删除该字符并在我的 Mac 上使用 OPT + u + u 再次键入它,那么 VS Code 仍然会抱怨。因此问题 2。
关于(2)我检查了这个:
echo LC_TYPE
它是空的。
所以我将export LC_TYPE=$LANG 添加到我的~/.bash-profile 并重新启动了VSCode,但这并没有解决它(并且在VSCode 集成终端中LC_TYPE 仍然为空)。 Ref
编辑
没有必要回答问题1,因为如果我删除字符并重新输入,同样的错误会出现。所以我现在知道它是如何进入文件的并不重要,只需要知道是什么产生了警告。
【问题讨论】:
标签: ruby-on-rails ruby utf-8 visual-studio-code vscode-settings