Back in the days of the typewriter, there was a time when the humble apostrophe would serve as apostrophe, single quote and double quote (two strokes). There were also a few other technical uses or meanings (actually, glyphs), but these three were sufficient overloading of the character.
ASCII, HTML, Unicode
In the ASCII definition (also including HTML markup) there is:
- 0x22 the quotation mark (double quotes), HTML
- 0x27 the apostrophe (single quotes), HTML
In Unicode (also including HTML) there is in addition:
- U+2018 left single quotation mark, HTML
- U+2019 right single quotation mark, HTML
- U+201C left double quotation mark, HTML
- U+201D right double quotation mark, HTML
Some Accent Marks
In addition, there is the additional confusion of two accent marks:
- grave accent, aka the backtick (commonly used in computer programming)
- and the acute accent (which is not on an English keyboard, but in OSX can be accessed by Opt+e + Letter to be accented.
Typography vs. Type Writing
The fundamental problem is that while typographically it may be preferred to have a left single quotation mark (U+2018) the keyboard only has an apostrophe character (U+0027). Various rich text editors replace one character with another, based on what it can detect, that is whether the character has a space before (left single quotation) or after (right single quotation) or none (apostrophe).
This detection and replacement is not obvious to the user and hard to correct in many cases. Open Office has settings in autocorrect for this, likely other Office suites do as well.
Unfortunately, Google Docs does this as well (smart quotes, under preferences).
Having clean, unambiguous punctuation is the best approach. Turn off autocorrect in the rich text editors. Search and replace across repositories of text.