我正在开发一个.bat程序,该程序是用芬兰语编写的。问题是CMD不知道这些“特殊”字母,例如Ä,Ö,Å。
有没有办法让这些工作?如果用户也可以使用这些字母,我也会喜欢它。
我的部分代码:
@echo off
/u
title JustATestProgram
goto test123
:test123
echo Letters : Ää Öö Åå
pause
exit
当我打开这个文件时,字母看起来像这样:
答案 0 :(得分:8)
尝试将此行放在批处理文件的顶部:
chcp 65001
它应该将控制台编码更改为UTF-8
,之后您应该能够在脚本中正确读取文件。
答案 1 :(得分:1)
理论上你只需要使用/u
(Unicode)开关:
c:\>cmd /u
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
c:\>echo Ä
Ä
答案 2 :(得分:1)
如果您使用Notepad ++,则只需更改charset即可。这样做可以让你写出所需字符集中的字母。西部地区 - 美国。应该支持它。
您可以在Notepad ++的下拉菜单中或通过编写chcp 437手动完成。但我建议在Notepad ++中执行此操作,因为它将显示批处理中的输出。因此,您可以轻松查看是否使用了正确的代码页。同时,如果您想要更多特殊符号,可以轻松切换。您也可以在之前的帖子中说明。试试UTF-8。
您可以在此处详细了解:http://ss64.com/nt/chcp.html。这里是不同代码页的列表(查看OEM页面): Code Page Identifiers
答案 3 :(得分:0)
命令提示符使用DOS编码。 Windows使用ANSI或Unicode。
PS我假设你在美国的代码页437而不是国际英语/西欧850。
所以我使用Character Map获取DOS代码,然后找出代码映射到的ANSI字符。
这是记事本的内容。
echo Ž„™”†
将你的角色的DOS代码放入记事本中。
0142,0132,0153,0148,0143,0134,显示为上述ANSI字符。
命令提示输出
C:\Windows\system32>echo ÄäÖöÅå
ÄäÖöÅå
Alt +字符代码 [上一页|下一个|内容]
按住alt并按数字键盘上的字符代码将输入该字符。使用的键盘语言必须支持输入该字符。如果您的键盘支持它,代码将显示在字符映射的状态栏的右侧,否则状态栏的此部分为空。对于具有众所周知键的字符,状态栏我们也是空的,如字母A到Z。
但是有两种输入代码的方法。这里需要记住的是,前127个代码的字符是相同的。不同之处在于输入的第一个数字是否为零。如果是,那么代码将插入当前字符集中的字符,否则它将插入来自OEM字符集的字符。超过255的代码输入unicode字符并以十进制表示。输入的字符将转换为OEM用于Dos应用程序以及ANSI或Unicode,具体取决于Windows的应用程序。请参见在十进制和十六进制之间转换。
E.G。,Alt + 0然后6然后5然后释放Alt输入字母A
来自我的{em>快捷键和密钥修饰符 https://1drv.ms/f/s!AvqkaKIXzvDieQFjUcKneSZhDjw