So I have a batch file tool that is originally in English, and I am having translated to various other languages. My situation is that many languages use special characters.
Windows with a German country configured in Windows region and language settings use OEM code page 850 which is very similar to OEM code page 437. The characters ÄÖÜäöüß
have same binary value in both code pages.
Usage of UTF-8 encoding with no BOM (code page 65001) is unfortunately no real option on Windows prior Windows 8 as the default console font is raster font Terminal not supporting Unicode.
A batch file encoded in UTF-8 with no byte order mark with the command lines
@echo off
%SystemRoot%\System32\chcp.com 65001 >nul
echo Es werden Administratorrechte benötigt. Überprüfe Berechtigungen ...
results either in nothing output on Windows XP or on Windows Vista and Windows 7 in getting just displayed the error message:
The system cannot write to the specified device.
The UTF-8 encoded batch file works on Windows 8 / 8.1 / 10 which uses by default the font Consolas supporting Unicode. Thanks eryksun for this additional information.