Проблема PHP / Apache со знаками фунта (£) - PullRequest
3 голосов
/ 21 января 2010

У меня есть некоторый текст, хранящийся в базе данных MySQL, такой как «Том дал Саре 5 фунтов за ее книгу». Вплоть до прошлого понедельника это прекрасно отображалось на сайте, когда его вытащили с сайта, показывая «Том дал Саре 5 фунтов за ее книгу».

Теперь, хотя я ничего не изменил / установил / удалил / обновил вообще, он перестал работать.

Старые значения в базе данных отображаются как «Том дал Саре 5 фунтов за ее книгу». В форме, в которой этот текст сохраняется в базе данных, где он использовался для сохранения в базу данных штрафа «Том дал Саре 5 фунтов стерлингов за ее книгу», теперь он сохраняется как «Том дал Саре 5 фунтов стерлингов за ее книгу» и отображается на сайт как этот («Том дал Сару? 5 за ее книгу»).

Что бы это вызвало? Я дергаю свои волосы, чтобы попытаться разобраться в этом. Я играл с utf8_encode / utf8_decode и использую набор символов ISO-8859-1 и UTF-8 для страниц, и хотя каждый метод дает разные результаты (например, «? 5» / «£ 5» / «£ 5» / " 5" / "☐5"), ни один не прав.

Проблема не в MySQL, потому что в phpMyAdmin хорошо видны знаки £, а знаки £ работают на другом веб-сервере.

Помощь!

Ответы [ 2 ]

3 голосов
/ 21 января 2010

Вместо того, чтобы повторять это снова и снова, я просто оставлю вам ссылку:

UTF-8 на всем пути ...


Если вы выполните шаги, упомянутые в ответе chazomaticus, ваши проблемы исчезнут.

В вашей конкретной проблеме база данных / таблица / поле, вероятно, является проблемой.

1 голос
/ 24 августа 2011

Если для вашей базы данных установлено значение utf8, этого может быть недостаточно. Убедитесь, что набор символов подключения установлен на UTF8. Выполните этот запрос: 'SET NAMES utf8;'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...