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 ?
$grp['name'][0]; на 1 или 2 ?
Спустя 8 минут, 56 секунд (13.12.2011 - 19:22) Gradus написал(а):
Winston, да любая отдельная русская буква так выводится
Спустя 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
Спустя 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 написал(а):
_____________
ДАВАЙ ДЕНЬГИ
R543264623869