Lowercase u with circumflexSquare root
ASCII 251 is û on Windows and √ in old DOS.
û (Small U with Circumflex) is byte 251 in Windows-1252, Unicode U+00FB. French writes sûr, dû and flûte with it. As a raw byte, FB is useful evidence. UTF-8 never uses the bytes F5 through FF, so a single FB in a file proves the file isn't UTF-8, and an encoding detector can rule UTF-8 out on the spot. A French text saved in Windows-1252 gives itself away with every û. Old DOS had û at 150. The UTF-8 bytes C3 BB misread as û. The HTML entity is û.
√ (Square Root) is byte 251 in code page 437, the original IBM PC character set, and maps to Unicode U+221A. In plain text it can't draw the bar over its argument, so √x+1 means the root of x plus 1, and anything longer needs parentheses: √(x+1). It also stands in for a tick mark on forms, where the proper check mark is ✓ (U+2713). The two don't match in search, or in a spreadsheet formula that counts ticks. Code page 850 put ¹ on this byte. In UTF-8, √ is E2 88 9A, and the HTML entity is √.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 251 is û.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00FB\n"); /* UTF-8: C3 BB */unsigned char b = 251; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 251 0xFB */return 0;}
#include <stdio.h>int main(void) {/* Byte 251 is √ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xFB is invalid and prints as garbage, often �. */putchar(251);/* char is signed on x86, so a plain char holding 0xFB is -5.Use unsigned char when you compare or index by byte value. */char c = (char)251;unsigned char u = 251;printf("\n%d %d\n", c, u); /* -5 251 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u221A\n"); /* E2 88 9A */return 0;}
The 1990 rectifications made the circumflex on u optional, so flute is accepted, but kept it wherever it separates two words. Sûr (sure) stays distinct from sur (on), and the same goes for dû and du, mûr and mur, jeûne and jeune. Only drop it where no other word would appear.
The leading zero switches Windows to its own table, and 251 there is û. √ only exists in the DOS table, so type Alt+251 without the zero. That short code gives √ where the system's DOS code page is 437, as on US Windows, and a different character on machines set up for other regions.
The ticks were typed as √, and screen readers announce characters by their meaning. Swap them for ✓, which is read as check mark, or better, use real checkbox elements, which report whether each item is checked. Either way, sighted readers see no difference and everyone else hears the right thing.
The leading zero switches Windows to its own table, and 251 there is û. √ only exists in the DOS table, so type Alt+251 without the zero. That short code gives √ where the system's DOS code page is 437, as on US Windows, and a different character on machines set up for other regions.