Буква И в UTF-8

N
На сайте с 14.06.2004
Offline
107
1121

Отображается как �?

Перепробавал все большие буквы русского алфавита - номарльно, кроме И

Немецкие амляуты - с точками отображаются. Спецсимволы тоже норм. Только И глючит

Почему?

BR
На сайте с 28.06.2008
Offline
75
#1

Шрифт какой?

размещение сайтов (http://www.brim.ru)
[Удален]
#2

При чем здесь шрифт?

Проблема скорее всего в кодировке базы данных. По видимому сайт у тебя в утф, а база в ср1251.

Попробуй в самому начале скрипта выполнить запрос к бд:

SET NAMES 'utf8' COLLATE 'utf8_general_ci'

BR
На сайте с 28.06.2008
Offline
75
#3
Duda:
При чем здесь шрифт?

Проблема скорее всего в кодировке базы данных.

- Вы правда телепат? не уловил в первом посте слов: база данных, кодировка, браузер, сайт, скрипт 😂

bezludny
На сайте с 04.03.2009
Offline
42
#4

Давайте узнаем сначала, что человек делает с исходными данными... И делает ли вообще.

Скорее всего, он юзает для юникодовых строк неюникодовые функции PHP.

Скажем,



$str = 'Тра-та-та, тестовая строка в PHP файле с кодировкой UTF-8';

echo strtoupper($str);
echo '<br />';
echo mb_strtoupper($str);

die();

Результат:


Сра-та-та, т&#65533;?стнвая стрнЪа в PHP файл&#65533;? с ЪнХШрнвЪнй UTF-8
ТРА-ТА-ТА, ТЕСТОВАЯ СТРОКА В PHP ФАЙЛЕ С КОДИРОВКОЙ UTF-8

Если исходные данные юникодовые, то юзайте юникодвые функции для работы с ними... Они же мультибайтовые.

Что же касается кодировки в базе, то ни разу не встречал, чтобы баги были избирательными к каким-то символам. Накосячил с кодировкой - поймал значки во всех данных.

bezludny добавил 29.03.2009 в 18:14

Перепробавал все большие буквы русского алфавита - номарльно, кроме И

Судя по всему, strtoupper и юзалась :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий