![]() |
|
Модераторы: skyboy |
![]()
|
|
| CPlusPlusFAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
Здравствуйте!
У меня используется кодировка utf8 и в полях содержится русский текст (сравнение utf8_general_ci). Если я делаю в выборке SUBSTRING с нечётной длиной (стартовый символ 1), то символы обрубаются и на вывод поступает квадратик в конце. Хотя тут написано, что функция multi-byte safe т.е., как я понимаю, должна выделять символы в случае с многобайтовым размером. Получается, что там параметр не количество символов, а количество байтов. То же относится и к стартовому символу (если 2, то обрубается пополам первый символ). Версия мускла: 5.1.41 Может, я что-то не так делаю? ![]() Тут походу так же. :( Это сообщение отредактировал(а) CPlusPlusFAN - 17.10.2010, 21:05 |
|||
|
||||
| unicross |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 3 Всего: 53 |
Запрос
в начале всех скриптов делаете? Скорее всего нет... Проверяйте кодировку файла с программой и реальные данные уже записанные ранее. Если кодировка файла не UTF-8, то нужно указать в запросе соответствующую кодировку. Следующий PHP-скрипт, сохраненный в кодировке UFT-8 без BOM, отрабатывает без всяких "квадратиков":
Таблица:
|
||||||
|
|||||||
| CPlusPlusFAN |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
делаю. текст нормально отображается, но вот обрезается не так, как надо.
Все файлы кодированы в утф8. это стандартная юникс кодировка. Текстовые данные представлены у меня типом TEXT и LONGTEXT. У меня все файлы по умолчанию создаются без BOM. Щас я попробую ваш скрипт. Только в пхпмайадмин и SqlBrowser'е данные в виде закарючек. Это затрудняет заполнение, так что буду через скрипт. ЗЫ пока дописывал камент, кое-что попробовал: у меня было
я переставил, как у вас и у меня на выходе появились каракули. Так что у меня есть одна мысль. Сейчас попробую. Добавлено @ 01:50 Хех. :( Всё заработало. Предполагаю, что из-за кривой настройки кодировки в запросе у меня данные перекодировались в вин1251 вроде. А в базе данные и хранились в таком виде, поэтому они и отображались кракозябрами. А я грешил на пхпмайадмин :(. Ну и соответственно обрезались побайтно, ведь формат был однобайтовый. А затем в пхп преобразовывалось в утф8, что и дало кривую обрезку. Так что да, проблема была именно в том, что я не поставил кодировку в начале. unicross, от меня плюсик. ЗЫ А на форуме-то проблемка осталась. ;) Это сообщение отредактировал(а) CPlusPlusFAN - 18.10.2010, 01:55 |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |