Uppercase A with ringBox cross junction
ASCII 197 is Å on Windows and ┼ in old DOS.
Å (Capital A with Ring) is byte 197 in Windows-1252, Unicode U+00C5. It starts Scandinavian names like Åsa and Ålesund, and Swedish, Norwegian and Danish all treat it as a letter of its own. It also makes a good test case for clipped text. The ring sits higher than most accents, so a button or input with line-height: 1 and overflow: hidden can slice the top off it, and ÅSA in capitals comes out with its ring cut away. Give such elements a little vertical padding or a line-height above 1. Old DOS had Å too, at 143. Its UTF-8 bytes C3 85 misread as Ã…. The HTML entity is Å.
┼ (Light Vertical and Horizontal) is byte 197 in code page 437, the original IBM PC character set, and maps to Unicode U+253C. It's the cross where four single lines meet, the inner intersections of a table grid. ASCII tables draw every junction as +, which is why converting one to box drawing isn't a simple search and replace. Only the inner junctions become ┼. Along the outer edges the same + has to become a tee (├ ┤ ┬ ┴), and at the corners ┌ ┐ └ ┘, or the frame sprouts little stubs. In UTF-8 it's E2 94 BC, and the HTML entity is ┼.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 197 is Å.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00C5\n"); /* UTF-8: C3 85 */unsigned char b = 197; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 197 0xC5 */return 0;}
#include <stdio.h>int main(void) {/* Byte 197 is ┼ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xC5 is invalid and prints as garbage, often �. */putchar(197);/* char is signed on x86, so a plain char holding 0xC5 is -59.Use unsigned char when you compare or index by byte value. */char c = (char)197;unsigned char u = 197;printf("\n%d %d\n", c, u); /* -59 197 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u253C\n"); /* E2 94 BC */return 0;}
Use the letter Å, U+00C5. The separate ångström sign, U+212B, exists only for compatibility and is canonically equal to the letter, so NFC normalization turns it into U+00C5 anyway. Text that skips normalization treats the two as different, and a search for 1.5 Å won't find the other one.
Yes, Aa is the older spelling of Å, which Danish replaced in 1948, and many names kept it, like Aalborg and Aarhus. Danish sorting follows the sound, not the letters, so Aarhus files under Å at the end of the alphabet rather than at the start. Norwegian names like Aasen work the same way.
The default collation, utf8mb4_0900_ai_ci, ignores accents, so it compares Å as A and a UNIQUE index sees the two names as equal. In Swedish, Danish and Norwegian, Å is a separate letter, so use a language collation such as utf8mb4_sv_0900_ai_ci, which keeps them apart, or a binary one if every character must count.
Either works, as long as you stick to one in a paper. The ångström isn't an SI unit, so some journals ask for nanometres, but crystallography and chemistry still use Å widely because atomic distances come out as tidy numbers like 1.54 Å. In LaTeX, \AA prints the symbol, and the siunitx package has \angstrom for use with numbers.
The program writes Windows-1252, where Å is byte 197, to a console reading code page 437 or 850, where 197 is the box-drawing cross ┼. The letter is fine in the program itself. In a C# app, set `Console.OutputEncoding = Encoding.UTF8;` before the first write so the console receives UTF-8 and draws Å properly.
The program writes Windows-1252, where Å is byte 197, to a console reading code page 437 or 850, where 197 is the box-drawing cross ┼. The letter is fine in the program itself. In a C# app, set `Console.OutputEncoding = Encoding.UTF8;` before the first write so the console receives UTF-8 and draws Å properly.