Как бороться с встроенными символами PHP на иностранных языках? - PullRequest
2 голосов
/ 16 ноября 2011

У меня проблема с моим веб-приложением php. Он написан на португальском языке, и хотя все данные, поступающие и выводимые из базы данных, в порядке, а все встроенные html-данные - в порядке, строки php - нет.

Например:

Если у меня есть функция, которая выводит последнее обновление записи базы данных:

$output .= 'Última atualização: ' . $date . '.';

Когда php повторяет вышесказанное, все акцентированные символы будут искажены. Если они встроены в HTML или из базы данных, они отображаются нормально.

Примечание: я объявил свою кодировку как utf-8 как в заголовке html, так и в скрипте php.

Ответы [ 3 ]

5 голосов
/ 16 ноября 2011

Фактический PHP-файл (который представляет собой просто текстовый файл) также должен иметь соответствующую кодировку.

И не получается просто добавить правильный заголовок.Вы должны открыть файл, проверить, является ли кодировка utf8, если нет, вырезать все, изменить кодировку на utf8 и вставить все обратно.Это не сработает, если вы просто измените кодировку и сохраните файл, если, конечно, ваш текстовый редактор не имеет такой функции!

1 голос
/ 16 ноября 2011

Попробуйте конвертировать .php файл в UTF-8. Это можно сделать в вашем редакторе.

0 голосов
/ 16 ноября 2011

Убедитесь, что ваш браузер также настроен на UTF-8. Я только что выполнил ваше заявление выше:

$output = 'Última atualização: ' . now();
echo $output;

и выглядит нормально.

Если это все еще не решит вашу проблему, добавьте еще код, чтобы лучше понять, что происходит.

...