Left double quoteLowercase o with circumflex
ASCII 147 is “ on Windows and ô in old DOS.
“ (Left Double Quote) is byte 147 in Windows-1252, Unicode U+201C. It opens a double-quoted phrase in English, “like this”, and ” (byte 148) closes it. Trouble starts when a command gets copied out of a blog post or a doc that converted the quotes. The shell doesn't treat “ as a quote at all, so git commit -m “fix login” hands git one argument starting with “fix and a second one, login”, which git rejects with a pathspec error. A one-word argument is worse, because it goes through silently with the curly marks still attached. If you're seeing “, that's the UTF-8 bytes E2 80 9C read as Windows-1252. The HTML entity is “.
ô (Small O with Circumflex) is byte 147 in code page 437, the original IBM PC character set, and maps to Unicode U+00F4. Windows-1252 has the left double quote “ at 147, so French DOS text read as Windows-1252 turns hôtel into h“tel. Code page 850 kept ô at 147 too.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 147 is “.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u201C\n"); /* UTF-8: E2 80 9C */unsigned char b = 147; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 147 0x93 */return 0;}
#include <stdio.h>int main(void) {/* Byte 147 is ô only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0x93 is invalid and prints as garbage, often �. */putchar(147);/* char is signed on x86, so a plain char holding 0x93 is -109.Use unsigned char when you compare or index by byte value. */char c = (char)147;unsigned char u = 147;printf("\n%d %d\n", c, u); /* -109 147 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u00F4\n"); /* C3 B4 */return 0;}
ô is also ASCII 244 on Windows, which has the full guide.
Excel only recognizes the straight " as a text delimiter, so a formula copied from a web page or a Word file with curly quotes gets rejected. Retype the quotes in the formula bar. For a sheet full of pasted formulas, use Find and Replace to swap “ and ” for " across the whole range in one go.
Simplified Chinese uses the same “ and ” characters, and CJK fonts draw them full-width to match Chinese text, so English passages set in that font inherit the wide marks. Put a Latin font before the Chinese one in your font stack so the quotes come from the Latin font, and mark English passages with lang="en".
Every “ in the middle of a word is an ô. DOS stores ô at byte 147, and Windows-1252 reads 147 as the opening double quote. Decode the source as code page 850 before running any cleanup that straightens curly quotes. Otherwise h“tel becomes h"tel, and that stray " will break CSV and JSON parsing further down the line.
Every “ in the middle of a word is an ô. DOS stores ô at byte 147, and Windows-1252 reads 147 as the opening double quote. Decode the source as code page 850 before running any cleanup that straightens curly quotes. Otherwise h“tel becomes h"tel, and that stray " will break CSV and JSON parsing further down the line.