General Question

Perchik's avatar

Why does the Internet hate the " (quotes) and ' (apostrophe) characters?

Asked by Perchik (5002points) August 13th, 2007

It seems almost daily that I see one of the characters being read wrong. Sometimes they turn into %0622 (or something like that) other times they turn into a missing character box, or sometimes they turn into a ? (question mark) character.

Why?

Observing members: 0 Composing members: 0

5 Answers

sferik's avatar

There are a number of issues with the use of quotes on the Internet:
1. Many modern programming languages use quotes to specify strings. As a result, they must be escaped when they occur within strings, and they are not always escaped properly.

2. Even if they are escaped properly on the back end, quotes must be represented using the character entity " when they are displayed or else they may cause HTML or XML parsing errors.

3. Quotes are not valid characters in HTTP URLs, so they must be encoded as %22.

4. Many people use so-called smart quotes (often when copying and pasting) which are not part of the ISO 8859-1 character set. These curly quotes (and any other characters outside the ISO 8859-1 set) will show up as question marks on systems that do not support UTF-8.

bob's avatar

Technically, you're right, sferik, but why does this still happen? It seems like modern websites -- like this one -- should be able to handle curly quotes. Is it really so difficult to support UTF-8? I guess it is -- but what makes it difficult?

It doesn't make sense to me that character set limitations would still be relevant. I want my em dashes.

andrew's avatar

@bob: The difficulty lies in more in the fact that most web frameworks/databases default to Latin-1 encoding -- which handles accents and umlauts but not extended unicode symbols like apostrophe and en dashes. Also, as sferik pointed out, there's a long chain that needs to be satisfied... decoding in javascript, then webpage and/or url, then web framework, then database and back again... in order for UTF-8 characters to be displayed.

Also, UTF-8 support is something that gets easily overlooked or de-prioritized in web-development. We here at Fluther have excellent UTF-8 supp... oh, wait, never mind. It's coming! It's coming!

sferik's avatar

In the mean time, you can type — to make em dashes (like so: —).

shayadave's avatar

good question. ive never thought about it much until now.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther