如何配置命令提示符以正确显示法语?

如何配置命令提示符以正确显示法语?

观察以下代码片段:

PS Z:\dev\windows\nc\NC.ProtoBuf> hg help qimport
hg qimport [-e] [-n NOM] [-f] [-g] [-P] [-r REV]... FICHIER...

importe un patch

    Le patch est insÚrÚ dans la sÚrie Ó la suite du dernier patch appliquÚ. Si
    aucun patch n'a encore ÚtÚ appliquÚ, le patch sera ajoutÚ en tÛte de
    sÚrie.

    Le patch portera le mÛme nom que le fichier dont il provient, Ó moins
    qu'un autre nom ne soit spÚcifiÚ Ó l'aide de -n/--name.

    Vous pouvez enregistrer un patch dÚjÓ prÚsent dans le rÚpertoire de patchs
    Ó l'aide de l'option -e/--existing.

正如我们所见,这个法语输出结果被破坏了。例如,杜若应该似曾相识。我同时使用 cmd.exe 和 PowerShell - 结果相同。

有什么方法可以配置命令提示符以正确呈现法语口音?

编辑

遵循以下建议https://superuser.com/users/52492/redgrittybrick我已经尝试过 PowerShell ISE——仍然没有效果:

_____________________________________________________________________________________
PS Z:\> hg help qimport
hg qimport [-e] [-n NOM] [-f] [-g] [-P] [-r REV]... FICHIER...

importe un patch

    Le patch est insÚrÚ dans la sÚrie Ó la suite du dernier patch appliquÚ.
    Si aucun patch n'a encore ÚtÚ appliquÚ, le patch sera ajoutÚ en tÛte de
    sÚrie.

    Le patch portera le mÛme nom que le fichier dont il provient, Ó moins
    qu'un autre nom ne soit spÚcifiÚ Ó l'aide de -n/--name.

    Vous pouvez enregistrer un patch dÚjÓ prÚsent dans le rÚpertoire de
    patchs Ó l'aide de l'option -e/--existing.

    Avec -f/--force, un patch dÚjÓ prÚsent du mÛme nom sera ÚcrasÚ.

编辑2

我很确定,hg 本身没有问题,因为当我重定向输出时hg 帮助 qimport到一个文件并在编辑器中打开后者,我看到以下内容:

hg qimport [-e] [-n NOM] [-f] [-g] [-P] [-r REV]... FICHIER...

importe un patch

    Le patch est inséré dans la série à la suite du dernier patch appliqué.
    Si aucun patch n'a encore été appliqué, le patch sera ajouté en tête de
    série.

    Le patch portera le même nom que le fichier dont il provient, à moins
    qu'un autre nom ne soit spécifié à l'aide de -n/--name.

    Vous pouvez enregistrer un patch déjà présent dans le répertoire de
    patchs à l'aide de l'option -e/--existing.

    Avec -f/--force, un patch déjà présent du même nom sera écrasé.

这是完美的。

答案1

尝试“PowerShell ISE”而不是“PowerShell” - 它可以理解 UTF-8 和其他字符集。

在此处输入图片描述


更新:

问题

您看到的是 Ú,而不是 é

分析

é 位于代码点 0xE9ISO 8859-1Latin-1(和几种类似的编码)
Ú 位于代码点 0xE9代码页 850

因此,您的应用程序使用 Latin-1 编码发出文本。但是您的控制台设置为代码页 850。

解决方案

使用chcp更改控制台编码,结合适当编码的字体,很可能会解决问题。


我可以重现该问题,并通过更改命令提示符属性将字体从“Raster”更改为“Lucida Console”来修复它。Raster 字体具有 Microsoft 所称的 OEM 编码。

前

后

答案2

尝试使用以下命令更改代码页chcp。例如:

C:\ chcp 1252

我说1252因为这家伙似乎可以成功显示法语字符。

如果这有效,则还需要执行另一个步骤,因为它会在每个命令提示符窗口中重置。我还没有测试过,但根据本网站它将改变所有未来命令提示符窗口的代码页。

Start->Run->regedit
Go to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
And change the "OEMCP" value to "1252"

在以下位置找到 chcp 命令ComputerHope.com

答案3

这不起作用:

@echo off
start "" "C:\Users\dmb3419\Documents\dev\ééééééééé"

这有效:

@echo off
chcp 1252
start "" "C:\Users\dmb3419\Documents\dev\ééééééééé"

相关内容