Lowercase u with umlautSuperscript n
ASCII 252 is ü on Windows and ⁿ in old DOS.
ü (Small U with Umlaut) is byte 252 in Windows-1252, Unicode U+00FC. It's in German über and Glück, Turkish gün and Spanish vergüenza, and Hungarian and Estonian have it too. Sorting German surnames has two official answers. DIN 5007 dictionary order files ü with u, so Müller lands right after Muller, while the phone-book variant treats ü as ue and puts Müller right after Mueller. JavaScript exposes both: Intl.Collator('de') gives the first order and Intl.Collator('de-u-co-phonebk') the second, while a plain sort() pushes Müller past every name starting with Mz, because ü comes after all the ASCII letters. Pick one order for a name list and use it everywhere. Old DOS had ü at 129. The UTF-8 bytes C3 BC misread as ü. The HTML entity is ü.
ⁿ (Superscript N) is byte 252 in code page 437, the original IBM PC character set, and maps to Unicode U+207F. DOS programs used it for exponents like 2ⁿ, and together with ² at 253 it was the entire superscript supply of code page 437. Windows-1252 and Latin-1 have no ⁿ, so converting a DOS file to either one turns 2ⁿ into 2? or stops the conversion with an error. Convert to UTF-8 instead and it survives intact. Code page 850 put ³ on this byte. There's no named HTML entity, so use ⁿ. In UTF-8 it's E2 81 BF.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 252 is ü.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00FC\n"); /* UTF-8: C3 BC */unsigned char b = 252; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 252 0xFC */return 0;}
#include <stdio.h>int main(void) {/* Byte 252 is ⁿ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xFC is invalid and prints as garbage, often �. */putchar(252);/* char is signed on x86, so a plain char holding 0xFC is -4.Use unsigned char when you compare or index by byte value. */char c = (char)252;unsigned char u = 252;printf("\n%d %d\n", c, u); /* -4 252 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u207F\n"); /* E2 81 BF */return 0;}
A text file has no meta tag, so unless the server names a charset the browser guesses, often Windows-1252, and the UTF-8 ü splits into à and ¼. Add `charset utf-8;` to the nginx server block, which covers text/plain by default, or AddDefaultCharset UTF-8 in Apache. HTML pages with a proper meta tag were never affected.
That's Punycode, the ASCII form DNS uses for domain names with letters like ü. Browsers convert müller.de to xn--mller-kva.de before looking it up and usually show the readable form in the address bar. Both point to the same site, and the xn-- form is what you'll find in server logs and certificates.
Only in güe and güi, to show that the u is pronounced, as in pingüino and cigüeña. Without the dots, gue and gui have a silent u that just keeps the g hard, as in guerra. Spanish uses the diaeresis nowhere else, so a ü in other positions points to a German, Turkish or Hungarian word.
Pinyin needs ü in syllables like nü and lü, and v is the one Latin letter pinyin doesn't use, so input methods borrowed its key: typing nv gives 女. The shortcut leaks into romanized data, where words show up as nv or lv, so map v back to ü when importing pinyin.
A UTF-8 program printing to a console that still uses code page 437 or 850 gets each UTF-8 byte drawn on its own. ü is C3 BC in UTF-8, and the console shows C3 as ├ and BC as ╝. Calling SetConsoleOutputCP(CP_UTF8) at startup, or saving the source in the console's code page, lines the two up.
Type Alt+0252 for ü and Alt+0220 for Ü. Without the zero, Windows reads the number from the DOS table instead, and on a US system 252 there is a superscript n, which is the character you got. The DOS table does have ü, just at a different number.
Type Alt+0252 for ü and Alt+0220 for Ü. Without the zero, Windows reads the number from the DOS table instead, and on a US system 252 there is a superscript n, which is the character you got. The DOS table does have ü, just at a different number.