Hacker News new | ask | show | jobs
by breser 4561 days ago
Chrome (and Firefox for that matter) are doing what they should be. The default encoding for HTTP is ISO-8859-1 and the Content-Type header doesn't specify a charset, so that is what the browsers are displaying it as.
2 comments

Well, like most things on the Web, they're not doing what the HTTP standard says, they're doing something related to what the standards say they should do but with some concessions to reality.

Look at "We don’t believe it’s right". There's no Euro sign in ISO-8859-1. The Euro symbol was not even dreamed up when ISO-8859-1 was standardized.

But there's a Euro sign -- retroactively -- in Windows-1252, and it's been a long-standing tradition among Web browsers to pretend ISO-8859-1 and Windows-1252 are equivalent even though in Unicode they clearly aren't. It's why you can write … and usually get the same ellipsis as ….

So you can forgive me for expecting another long-standing tradition, which is to auto-detect encodings that aren't specified. Maybe browsers have stopped doing that. It's a bit of a loss when it comes to UTF-8, a clear choice for an encoding to try by default in 2013.

Of course the page should ideally be written better, but that's a push and pull between HTML writers and browser developers that will never be over.

Wow, why didn't they bother specifying? It's as simple as:

  <meta charset=utf-8>