Home > English, Tech Crunch > HTML character encoding

HTML character encoding

This article was first written in July 2004 for the BeezNest technical
website (http://glasnost.beeznest.org/articles/139).

To enable all characters to be displayed correctly in an HTML page, even if you use different languages (english, japanese, russian, …), a good way is to encode everything in unicode, using the UTF-8 character set representation.

Server & client config

In Apache config file httpd.conf, one of the following must be defined:
#AddDefaultCharset on
AddDefaultCharset off
AddDefaultCharset utf-8
More info: Apache AddDefaultCharset directive

In your HTML page, define:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Working with unicode databases

To display the content of a unicode database, no need to decode the data.
For example in PHP, no need to use utf8_decode().

If you use forms to update a unicode database, there is no need to encode the POST data.
For example in PHP, no need to utf8_encode($_POST['var']).

Working with non-unicode databases

To display the content of a non-unicode database, you need to decode the data before displaying them.
For example in PHP, you must use utf8_decode().

If you use forms to update a non-unicode database, you need to encode the POST data prior to send them to the database.
For example in PHP, you must use utf8_encode($_POST['var']).

Remark

The best solution to not have to worry about encoding/decoding is to use the same character encoding on the client (HTML page) as on the server (database).

Links

W3C: Q&A: Checking HTTP Headers

UTF-8 explained

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: