如何将wsl 2 kali linux非UNICODE终端字符编码更改为UNICODE终端字符?

如何将wsl 2 kali linux非UNICODE终端字符编码更改为UNICODE终端字符?

我正在尝试在 WSL 2 KALI LINUX 中使用 Airodump-ng,他们给了我以下警告:

警告:检测到您正在使用非 UNICODE 终端字符编码

当我输入 $locale charmap 时,我发现我正在使用 ->ANSI_X3.4-1968

那么如何将 ANSI_X3.4-1968 更改为 UTF-8 以便拥有 UNICODE 终端?告诉我如何在 wsl 2 kali linux 中获得 UNICODE 终端?

答案1

通常,字符映射表是您正在使用的区域设置的一部分。如果您没有设置任何区域设置,则它们默认为CPOSIX,它使用 ASCII(在本例中写为ANSI_X3.4-1968)。当区域设置的字符集不是 时,会出现此警告UTF-8

在大多数现代 Linux 系统上,您可以简单地使用C.UTF-8区域设置,其工作方式与区域设置类似C,只是它使用 UTF-8。通常,您可以通过将环境变量设置LANG为 来完成此C.UTF-8操作(通常在 shell 配置中),然后重新启动 shell(例如,使用exec bashexec zsh)。您还可以通过执行以下操作为当前 shell 更改此设置export LANG=C.UTF-8

您可能还希望使用反映您实际所在的语言和地区的语言环境,或者您所关心的语言和语言的语言环境。例如,您可以选择en_US.UTF-8es_MX.UTF-8、 或fr_CH.UTF-8您认为合适的。请注意,在某些系统上,您需要先编译语言环境才能使用它们,而C.UTF-8在完全可用的系统上通常无需执行此操作。

请注意,您还可以通过设置来更改此设置LC_ALL,但这会覆盖所有其他设置,而LANG是后备默认设置。因此,最好使用这样您可以根据需要LANG自定义单独的设置(例如, )。LC_TIME

也可能是终端模拟器将区域设置设置C为这种情况,因为它根本不支持 UTF-8,但 Microsoft 终端(默认的 WSL2 终端模拟器)或几乎所有其他现代终端模拟器都不是这种情况,确实支持 UTF-8。

相关内容