Windows 中的 gVim utf-8

Tob*_*bbe 7 windows vim gvim utf-8

当我打开 gVim 时,它被本地化为 Sweidish,这很好。但是其中包含瑞典语字符的警告/错误消息无法正确显示。例如,当尝试删除未保存更改的缓冲区时,我得到以下信息:

E89: Ingen skrivning sedan senaste <e4>ndring f<f6>r buffert 1 (l<e4>gg till ! f<f6>r att tvinga)
Run Code Online (Sandbox Code Playgroud)

这大致翻译为

E89: No write since last edit for buffer 1 (append ! to force)
Run Code Online (Sandbox Code Playgroud)

我想要的是这个:

E89: Ingen skrivning sedan senaste ändring för buffert 1 (lägg till ! för att tvinga)
Run Code Online (Sandbox Code Playgroud)

这些是一些相关的设置:

> :language
  Aktuellt spr<e5>k: "LC_COLLATE=Swedish_Sweden.1252;LC_CTYPE=C;LC_MONETARY=Swedish_Sweden.1252;LC_NUMERIC=C;LC_TIME=Swedish_Sweden.1252"
> :lang mes
  Aktuellt message spr<e5>k: "SV"
> :set enc
  encoding=utf-8
Run Code Online (Sandbox Code Playgroud)

如何让 vim 显示正确的字符(å、ä、ö)而不是<e5>, <e4>,<f6>代码?

编辑:尝试:language sv_SE.UTF-8"我得到E197: Can not set the language to "sv_SE.UTF-8

EDIT2:我试过:

:language Swedish_Sweden.10646
:language sv_SV.UTF-8
:language en
:language en_EN.UTF-8
Run Code Online (Sandbox Code Playgroud)

所有都具有相同的 E197 错误消息。

Tob*_*bbe 12

我解决了。它实际上是在vim网页上暗示的。http://www.vim.org/download.php#pc

我必须从sourcecforge 上的 gettext 项目中获取两个文件:

将 libiconv zip 中的 bin/iconv.dll 和 gettext zip 中的 bin/intl.dll 解压缩到您的 gVim/vim 文件夹中。将 intl.dll 重命名为 libintl.dll。覆盖任何现有文件。

在那之后,它对我有用。这些是我的 _vimrc 中的相关行:

if has('gui_running')
    set guifont=Courier_New:h10
endif

set encoding=utf-8
Run Code Online (Sandbox Code Playgroud)

它们位于 _vimrc 的顶部。