![]() |
![]() |
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 %-] |