SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.01.2011 12:53:35

nabucco
Участник
Зарегистрирован: 11.01.2011
Сообщений: 2

база обрезает строку

Здравствуйте,

столкнулся со следующей проблемой, не могли бы вы помочь?


Имеем некую строку : "О бедном гусаре замолвите слово",

строку получаем из формы через $_GET[txt],

обрезаем строку до заданной максимальной длины (допустим 40 символов) функция substr,

результат substr($_GET[txt]) кладем в базу.

в базу летит в районе 20 символов!? ("О бедном гусаре замо"),

если посчитать символы после substr, то их количество соответствует задаче (40) ,

1. если текст на латинице, всё корректно.

2. если текст не подвергается усечению substr(), то полностью укладывается в базу как есть и в этом случае не обрезается.

База - таблица INNOdb UTF8
Крутится под Друпалом (конкретно эта часть скрипта не использует АПИ Друпал)

не знаю что и думать.

Заранее спасибо

Неактивен

 

#2 11.01.2011 23:00:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: база обрезает строку

Да, PHP не умеет работать с многобайтовыми кодировками smile
Есть какие-то модули, попробуйте, например, mb_substr.

Дальнейшие вопросы по PHP задавайте, пожалуйста, на webew.ru.

Неактивен

 

#3 12.01.2011 12:49:20

nabucco
Участник
Зарегистрирован: 11.01.2011
Сообщений: 2

Re: база обрезает строку

Дальнейшие вопросы по PHP задавайте, пожалуйста, на webew.ru

Да, вы правы, база здесь не при делах, напрасно я грешил. Вопрос действительно в РНР.

Спасибо.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson