zz1433
zz1433

Reputation: 3586

php website not showing correctly in utf-8

I have a website which has some non standard characters such as ë, Ç etc.

The website uses ISO-8859-1 as it's character encoding, however at this point I want to switch it to UTF-8 for some reasons related to rss feeds.

When i change the character encoding to utf-8 the mentioned characters are displayed incorrectly.

I set the charset through the php header function:

header("Content-Type: text/html; charset=ISO-8859-1");

Any idea as to how to fix this problem ?

Upvotes: 2

Views: 2464

Answers (3)

deceze
deceze

Reputation: 522567

header("Content-Type: text/html; charset=ISO-8859-1");

So, are you using ISO-8859-1 or UTF-8? This header is telling the browser "please assume the content of this site is encoded in ISO-8859-1 and interpret it as such." If the content of the site is not actually in this encoding, the result will be gibberish to some extend.

This goes to say that the problem is that what it says on the label is not actually what's in the can.

Upvotes: 1

Flakron Bytyqi
Flakron Bytyqi

Reputation: 3254

If you are storing that information in the database, check the database collation, it must be UTF-8 also.

Upvotes: 0

Scharron
Scharron

Reputation: 17817

Never heard about entities ? http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references .

Else, you have to reencode your files (with your editor, you should be able to save your files specifying an encoding).

You can also do it with external programs, like iconv

iconv -f ISO-8859-1 -t utf8 your_file > your_new_file

Upvotes: 0

Related Questions