gpt4 book ai didi

windows - 在为他人制作的批处理文件中使用另一种语言(代码页)

转载 作者:可可西里 更新时间:2023-11-01 11:23:54 25 4
gpt4 key购买 nike

所以我有一个批处理文件工具,原来是英文的,我正在翻译成其他各种语言。我的情况是许多语言都使用特殊字符。就我而言,它是德语。

所以我可能会用英文的:

echo Administrative permissions required. Detecting permissions...

然后在德语中,我会:

Administratorrechte benötigt. Überprüfe Berechtigungen...

它使用不同类型的字符。现在,在我的研究中,我找到了用于更改代码页的 Windows 命令 chcp。现在,我要做的是更改代码页(或任何其他执行此操作的方式)以允许显示这些字符。我当前的代码页是美国英语的代码页; 437。对于德语,我相信我需要使用 1141 ( source )。我了解到您可以执行更改 CMD 设置或通过注册表进行更多永久更改等操作。但是我需要在一个随机的人以最小的努力运行这个文件时按需提供。

我已尝试通过在批处理文件的开头添加 chcp 1141 将代码页设置为 1141,但这会导致错误。批处理文件无法再理解我的命令。

最佳答案

在 Windows 区域和语言设置中配置德国国家/地区的 Windows 使用 OEM code page 850这与 OEM code page 437 非常相似.字符 ÄÖÜäöüß 在两个代码页中具有相同的二进制值。

不幸的是,在 Windows 8 之前的 Windows 上,没有 BOM(代码页 65001)的 UTF-8 编码的使用不是真正的选择,因为默认控制台字体是不支持 Unicode 的 Terminal 光栅字体。

以 UTF-8 编码的批处理文件,命令行没有字节顺序标记

@echo off
%SystemRoot%\System32\chcp.com 65001 >nul
echo Es werden Administratorrechte benötigt. Überprüfe Berechtigungen ...

导致在 Windows XP 上没有输出,或者在 Windows Vista 和 Windows 7 上只显示错误消息:

The system cannot write to the specified device.

UTF-8 编码的批处理文件适用于 Windows 8/8.1/10,默认使用支持 Unicode 的字体 Consolas。谢谢eryksun获取此附加信息。

Microsoft 开发人员意识到由于不真正支持 Unicode 而导致的问题,并且正在致力于改进 Windows 控制台,请参阅开发人员博客 Windows Command-Line: Unicode and UTF-8 Output Text Buffer由 Rich Turner 于 2018 年 12 月 10 日撰写。

关于windows - 在为他人制作的批处理文件中使用另一种语言(代码页),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48981387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com