Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: база нехорошая!!!!!!! глюки при работе с базой и обработке текста

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Вездеход
Отправлено: 27 Ноября, 2008 - 10:50:45
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




я уже порядком за***.... извините за грубость..

народ помогите плиз - а то уже надоело каждый раз в ручную править базу для корректного вывода...

проблема в следующем.
есть база MySQL. выбираю из нее данные. данные в виде буквально пары слов - регистр когда как. может в перемешку быть и т.д.
буквы - или русские или английские.

так вот. мне надо вывести это все только большими буквами.
функция strtoupper НЕ работает с русскими буквами... ок. поставил функцию mb_strtoupper - результат лучше. но только некоторые слова (уже пофигу на каком языке) она не обрабатывает... причем на других страницах та же самая надпись при той же самой обработке выводится номально...
спасением является только обработка в ручную записей в базе...

написал вот такую функцию:
PHP:
скопировать код в буфер обмена
  1. <?
  2. function word_up($text) {
  3.         $text=mb_strtolower($text);
  4.         $text=strtolower($text);
  5.         $text=mb_strtoupper($text);
  6.         $text=strtoupper($text);
  7.         return $text;
  8.         }
  9. ?>

результат не изменился - некоторые слова всеже остаются. причем причина такого явления мне не известна... все кодировки вроде верны - везде windows-1251. но всеже... =(



но и это еще не все. стали возникать проблемы с буквой Я. заключается это в том что при обработке вышеуказанными функциями буква я выводится в виде знака вопроса (?). но если в базе поменять маленькую букву я на заглавную то все нормально.... как это можно исправить может кто подскажет?


но и это еще не все!!!
переодически при выводе данных пропадают некоторые записи при выводе. т.е. те фразу которые обрабатываются вышеуказанными функциями. т.е. выглядит это так, как будто фраза просто пустая. но если обновить страницу все нормально работает...

хелп...

(Отредактировано автором: 27 Ноября, 2008 - 10:54:53)



-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Гость
Отправлено: 27 Ноября, 2008 - 20:13:47
Post Id


УДАЛЁН










Цитата:
Надоело каждый раз в ручную править базу для корректного вывода...
Подождите, что у Вас, когда считываются данные из базы, то они еще и там корежатся, что Вы их потом вручную меняете? Такого не бывает Улыбка

Цитата:
Стали возникать проблемы с буквой Я
В некоторых кодировках эта буква имеет 255 код, который может конфликтовать.ю Только обычно едло идет о малой букве я

Цитата:
Переодически при выводе данных пропадают некоторые записи при выводе
Делаете один и тот же SELECT, а данные возвращаются разные, при этом база до этого не изменялась? Странно, в таком случае глюки именно в базе

P.S. Проверьте свой PHP-скрипт, особенно все части касаемые UPDATE запросов, тамточно нет ничего подозрительного? Улыбка
 
 Top
Вездеход
Отправлено: 28 Ноября, 2008 - 10:42:58
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




JustUserR
1. ну просто например когда в слове есть буква я - то я ее вручную в базе правлю на букву Я. та что тут нормально все...
2. ну я просто не оч силен в таких вопросах... поэтому у меня и проблемы =( пасибо учту. а можно это как либо или в запросах или в базе подредактировать? можно канешно поставить замену при записи - чтобы я заменялась на Я - потом все равно слова большими буквами выводить.. но всеже это не оч удобно...
3. запросы все написаны корректно. база была создана с определенными полями (поля и их типы) и после этого ничего не изменялось. только данные вбилались ... единственное что - у меня 2 базы - она в нете другая на локалке. так вот данные вбивались через админку на локальном скрипте а потом экспортировались в базу которая в нете. но кроме этого ничего странного не было...... а все запросы на сайте я прописывал вручную так что там проблем не должно быть по идее... к тому же как же тогда может быть то, что при обновлении страницы все нормально грузится?

п.с.
по поводу перевода слов в верхний регистр - работает вроде бы без ошибок вот такая функция -
PHP:
скопировать код в буфер обмена
  1. <?
  2. function word_up($text) {
  3.     $text=mb_strtolower($text);
  4.     $text=mb_strtoupper($text);
  5.     return $text;
  6.     }
  7. ?>


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
valenok Модератор
Отправлено: 28 Ноября, 2008 - 23:55:16
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




SELECT UPPER(`field`)


-----
Truly yours, Sasha.
 
My status
 Top
Вездеход
Отправлено: 29 Ноября, 2008 - 14:31:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




valenok пасибо! буду пробовать

теперь еще бы решить проблему с буквой я ...


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB