[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ошибка кодировки отдельной буквы с слове
Gradus
q("SET NAMES utf8");
q("SET CHARACTER SET utf8");
q("set character_set_client='utf8'");
q("set character_set_results='utf8'");
q("set collation_connection='utf8_general_ci'");

Header("Content-type: text/html; charset=utf-8");

$qg=q("SELECT `name` FROM `group` WHERE `id` = 301");
$grp=f($qg);
echo '='.$grp['name'].'='.$grp['name'][0];

файл сохранён в utf-8 без bom, база и поля в utf8_general_ci
Результат:
=стинг=�

спасает
mb_substr($grp['name'], 0,1, 'utf-8');
Но почему так, почему отдельный символ выводится не в правильной кодировке ?



Спустя 21 минута, 1 секунда (13.12.2011 - 19:13) Winston написал(а):
А пробовал заменить индекс
$grp['name'][0]; на 1 или 2 ?

Спустя 8 минут, 56 секунд (13.12.2011 - 19:22) Gradus написал(а):
Winston, да smile.gif любая отдельная русская буква так выводится smile.gif

Спустя 2 часа, 45 минут, 20 секунд (13.12.2011 - 22:07) Self написал(а):
echo '='.$grp['name'].'='.$grp['name'][0].$grp['name'][1]

Спустя 40 минут, 20 секунд (13.12.2011 - 22:48) Gradus написал(а):
Self, это конечно тоже решение проблемы.Но почему так происходит, не ужели по дефолту не возможно правильно работать с кодировкой mysql в таком случае, без применения альтернативных задач ? получается косяк

Спустя 4 минуты, 15 секунд (13.12.2011 - 22:52) Self написал(а):
К букве в строке можно обратится как к элементу массива.
Но при этом разбивает побайтово.
Кодировка многобайтная.
"Откусывает" кусок буквы.

Спустя 3 минуты, 45 секунд (13.12.2011 - 22:56) Winston написал(а):
Сделай
$grp['name'] = preg_split("//u", $grp['name']);

И потом можно будет обращаться
$grp['name'][0];

Спустя 3 часа, 16 минут, 31 секунда (14.12.2011 - 02:12) Gradus написал(а):
Self, я это понял , но получается что косяк в php smile.gif

Спустя 14 дней, 22 часа, 2 минуты, 17 секунд (29.12.2011 - 00:15) kuzroman написал(а):
Цитата (Winston @ 13.12.2011 - 19:56)
Сделай
$grp['name'] = preg_split("//u", $grp['name']);

И потом можно будет обращаться
$grp['name'][0];

Блин такая же беда была, спасибо за совет!
Но интересно почему выходит так?

Спустя 24 минуты, 10 секунд (29.12.2011 - 00:39) Winston написал(а):
Цитата (kuzroman @ 28.12.2011 - 23:15)
Но интересно почему выходит так?

Здесь объясняется.


_____________
ДАВАЙ ДЕНЬГИ
R543264623869
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.