Я заметил эту проблему именно в моих приложениях, управляемых базой данных, и мне потребовалось много времени, чтобы ее решить!
Проблема возникает из-за того, что в вашем приложении есть как минимум три места, которым нужен их символзадает определения, и все они должны быть одного и того же набора символов (и этот набор символов должен быть в состоянии обрабатывать символы, с которыми вы работаете).
Символ знака вопроса и его варианты возникают, когда браузер не понимаеткакой символ ему передается.
Убедитесь, что ваши наборы символов совпадают в следующих местах:
- Раздел заголовка HTML.
- Сама сортировка базы данных - этоможет быть задано в phpMyAdmin при создании новой таблицы или изменении схемы существующей таблицы.
- Настройка набора символов с наибольшим пропуском : значение "default_charset" файла php.ini (может быть установлен через скрипт PHP или файл httpd.conf).
Судя по вашему сообщению, похоже, что ваш PHP cВ настройках может быть задано использование другого default_charset.Это означает, что ваша база данных будет хорошо хранить символы и будет отправлять символы точно в ваш скрипт, но сам скрипт PHP не будет знать, что делать с символом, и, следовательно, выводит в браузер в качестве раздражающего символа вопросительного знака.
Попробуйте изменить значение php.ini на тот же набор символов, и вы можете быть удивлены, увидев, что символы отображаются нормально!Если у вас нет доступа к php.ini, вы можете изменить значение с помощью следующей функции:
ini_set("default_charset", "UTF-8");
Надеюсь, это поможет.