Hacker News new | ask | show | jobs
by gpnt 2020 days ago
I don't see this error on FF. Are you seeing this on the console?

I put the meta tag to render some special characters without relying on the server, but HTTP header would be a better option (Content-Type: text/html; charset=utf-8).

And you nailed the process.

1 comments

Hey! Yes, however now I notice that this is only when running locally. I took your page, replaced script and css with absolute links, and loaded locally as file://
hmm, I didn't find this error locally either. I will try using file://. Thanks for the report.

Also, if you are interested, the project is on GitHub: https://github.com/webdatarender

The reason it works locally is because charset detection works different when loading from a local file than when loading from a webserver.

In particular browsers tend to be a lot more enthusiastic about treating local files as unicode than they are for responses from web servers.

The reason the meta charset doesn't pick up is you're missing quotes around `utf-8` (also it may be past the 1024 byte mark, hard to say without running wc).

The reason browsers' charset autodetection works differently locally is likely because HTTP standard specifies Latin1 (ISO-8859-1) as the default encoding (at least in 1.1).
Or server sends explicit charset in HTTP header (`Content-Type: text/html; charset=UTF-8`), so meta element override is not needed at all. Naturally, there is no such header present in file:///.