К списку форумов К списку вопросов
Проблема с запистью буквы "К" в базу
Lucifer
15.05.2004 - 17:45
Поставил бесплатный форум себе на сайт. И возникла проблема. Когда сообщение начинается с заглавной буквы "К" русской, то при записи в базу она удаляется :-(
Тоже самое и при регистрации нового юзера.. буковка стирается почему то. и получается без первой буквы.
.
Форум InvisionBoard. Кто нибудь сталкивался с такой проблемой? И как решали?
vbirf
1 - 15.05.2004 - 21:09
только что проверил все ок, ставил по умолчанию..
http://zao-era.ru/board/
Lucifer
2 - 15.05.2004 - 21:52
Так Я когда поставил - тоже всё ОК было. Вот прошло две недели, и такая ерунда полезла... причём, сейчас посмотрел, что не важно где слово стоит (в предложении), всё равно если с большой К - она убирается автоматом :-(
.
Полазил я конечно в коде, но я ничего подобного не изменял.. :-( Вообще странности, хоть переставляй... так жалко. Тут код уже подредактировал.. что ж всё занова что ли..
DIVЕR
3 - 15.05.2004 - 22:03
А ты когда лазил по коду, не нашёл где там есть какие-нибудь условия, которые проверяются при добавлении/редактировании записи? Можно поставить немного ckeckpoint'ов, чтобы определить до куда доходит программа...
Просто может вполне выясниться, что проблема, например, с MySQL или ещё с чем-нибудь "не программным от форума"...
Lucifer
4 - 15.05.2004 - 23:49
Я так понял что это баг форума..
Если выполнить такую команду из Shell:
<<<
grep -ir '0xCA' *
>>>
, то:
<<<
www/sources/functions.php: $val = str_replace( chr(0xCA), "",
$val ); //Remove sneaky spaces
^C
bash-2.05a$ grep -ir '0xCA' *
www/sources/functions.php: $val = str_replace( chr(0xCA), "",
$val ); //Remove sneaky spaces
www/sources/Admin/ad_settings.php: $ADMIN->html .=
$SKIN->add_td_row( array( "<b>Remove chr(0xCA) from input?</b><br />Can be
used as a 'hidden' space to emulate registered names - but can cause problems
in non Western character sets." ,
www/ipchat.php: $val = str_replace( chr(0xCA), "", $val ); //Remove
sneaky spaces
>>>
то есть урезание '0xCA' происходит специально, но
дело в том, что в кирилическом наборе эта комбинация соответствует букве 'K'.
Не могу понять одного: Почему раньше всё работало ....
Теперь надо найти багфикс... всё что было на офиц сайте - установил - не помогает :-(
Уверенный
5 - 16.05.2004 - 05:21
"в кирилическом наборе эта комбинация соответствует букве 'K'." - может, раньше у тебя была другая кодировка?
Lucifer
6 - 16.05.2004 - 09:46
Точно... раньше была другая..
я чёто сразу не сообразил.
Lucifer
7 - 16.05.2004 - 10:22
Короче говоря, вот что я сделал. Взял в файле functions.php везде поубирал '0xCA'. Теперь не удаляет К.
DIVЕR
8 - 16.05.2004 - 18:34
Lucifer!!! =))))
Я сейчас лазил по админке своего форума и вот что нашёл:
Админ -> Системные настройки -> Безопасность
 
Удалять вводимые chr(0xCA)?
Может быть использовно как 'скрытые' пробелы, для эмуляции зарегистрированных имён - но могут появиться проблемы при национальных символах.
Например, для русского языка, при включении этой функции, в сообщениях, не прописывается большая буква К
 
 
=)))))
Lucifer
9 - 16.05.2004 - 21:16
гыыыы %-)
А я чёто вообще и не думал там смореть %-)
DIVЕR
10 - 16.05.2004 - 21:45
%)
Ты туда посмотрел "через другое место" =)
Ты же сам выше написал:
...
$SKIN->add_td_row( array( "<b>Remove chr(0xCA) from input?</b><br />Can be
used as a 'hidden' space to emulate registered names - but can cause problems in non Western character sets.", www/ipchat.php: $val = str_replace( chr(0xCA), "", $val ); //Remove sneaky spaces
 
%-]

К списку вопросов на форуме Веб-дизайн

>>