Uppercase A with umlautBox horizontal line
ASCII 196 is Ä on Windows and ─ in old DOS.
Ä (Capital A with Umlaut) is byte 196 in Windows-1252, Unicode U+00C4. German capitalizes nouns, so it opens words like Ägypten and Änderung, and Swedish and Finnish capitalize it the same way. In URLs it shows two eras of encoding colliding. JavaScript's encodeURIComponent('Ä') gives %C3%84, the UTF-8 bytes, but the old escape('Ä') gives %C4, the Latin-1 byte, and a server expecting UTF-8 turns that into garbage or a 404. Use encodeURIComponent. Old DOS had Ä at 142. Its UTF-8 bytes C3 84 misread as Ä. The HTML entity is Ä.
─ (Light Horizontal) is byte 196 in code page 437, the original IBM PC character set, and maps to Unicode U+2500. It's the single horizontal line of box drawing, forming the top and bottom edges of frames and the ── in directory trees. It also makes clean divider lines in plain text. Fonts draw it across the full width of the character cell, so ────── joins into one unbroken line, while a row of em dashes (U+2014) or hyphens leaves visible gaps. It isn't punctuation, though, so don't use it as a dash inside sentences. In UTF-8 it's E2 94 80, and the HTML entity is ─.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 196 is Ä.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00C4\n"); /* UTF-8: C3 84 */unsigned char b = 196; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 196 0xC4 */return 0;}
#include <stdio.h>int main(void) {/* Byte 196 is ─ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xC4 is invalid and prints as garbage, often �. */putchar(196);/* char is signed on x86, so a plain char holding 0xC4 is -60.Use unsigned char when you compare or index by byte value. */char c = (char)196;unsigned char u = 196;printf("\n%d %d\n", c, u); /* -60 196 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u2500\n"); /* E2 94 80 */return 0;}
In German, yes, when the umlaut really isn't available: Ae, oe and ue are the standard substitutes, so Änderung becomes Aenderung in an email address or a URL. Swedish and Finnish don't work that way, because ä is a letter of its own there. Finnish tähti is a star, while tahti means a beat or a pace.
Use Alt+0196, or the old DOS code Alt+142, which gives Ä in both the US and Western European sets. Plain Alt+196 reads the DOS table too, and 196 there is the horizontal box line ─, so you get a line instead of the letter. The other German umlauts follow the same DOS pattern: ä is Alt+132, Ö is Alt+153 and Ü is Alt+154.
The .bat was saved as Windows-1252, and cmd reads it with the DOS code page, where byte 196 is the box line ─ rather than Ä. The other umlauts break as well, so Größe prints as Gr÷▀e. The least fiddly fix is moving the script to PowerShell 7, which reads its files as UTF-8 and writes Unicode to the console.
Use Alt+0196, or the old DOS code Alt+142, which gives Ä in both the US and Western European sets. Plain Alt+196 reads the DOS table too, and 196 there is the horizontal box line ─, so you get a line instead of the letter. The other German umlauts follow the same DOS pattern: ä is Alt+132, Ö is Alt+153 and Ü is Alt+154.
The .bat was saved as Windows-1252, and cmd reads it with the DOS code page, where byte 196 is the box line ─ rather than Ä. The other umlauts break as well, so Größe prints as Gr÷▀e. The least fiddly fix is moving the script to PowerShell 7, which reads its files as UTF-8 and writes Unicode to the console.