HTML - символ фунта стерлингов из базы данных отображается как ? даже при charset=UTF-8

У нас есть куча данных базы данных, которые кто-то ввел вручную. Они содержат много символов британского фунта (£). Оригинальный пользователь скопировал/вставил знак фунта откуда-то, не уверен откуда (я не уверен, имеет ли это значение или нет...).

В любом случае, при распечатке данных на странице PHP, знаки фунта появляются как символ замены. На странице есть . В браузере, если изменить кодировку на ISO-8859-1, то знаки фунта отображаются правильно.

После некоторого копания я пришел к выводу, что человек, вводивший данные, скопировал/вставил в базу данных знак фунта в кодировке ISO-8859-1. Поэтому, если страница не отображается с использованием ISO-8859-1, она не будет отображаться правильно.

Вот информация о заголовке из Chrome:

Request URL:http://www.mysite.com/test.php
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:X-Mapping-goahf....
Host:www.mysite.com
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2
Response Headersview source
Connection:Keep-Alive
Content-Type:text/html; charset=UTF-8
Date:Wed, 07 Dec 2011 22:38:14 GMT
Server:Apache/2.2
Transfer-Encoding:chunked

Также в таблице MySQL говорится, что используется latin1_swedish_ci, который был по умолчанию.

Так как же мне решить эту проблему? Я не очень много знаю о том, как работает кодировка символов и что происходит, когда вы копируете/вставляете символы из одного места в другое.

Я попробовал зайти на эту страницу:

http://www.fileformat.info/info/unicode/char/a3/browsertest.htm

И скопировать символ фунта и вставить его в базу данных, думая, что это исправит проблему, но это не помогло... Как сделать символ фунта, который находится в базе данных, символом фунта UTF-8 вместо ISO-8859-1 ?

7
задан Jake Wilson 7 December 2011 в 23:08
поделиться