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]   

> Описание: на срабатывает кириллица при запись данных в ДБ
mr.8pa4
Отправлено: 28 Января, 2012 - 21:08:14
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2011  
Откуда: Минск, Белоруссия


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




Помогите пожалуйста
есть модуль интересов ...
у него беда в том что он не хочет ни в какую кириллицу вносить ДБ
как я понял по коду (могу ошибаться) , за занос в БД TEXT отвечает вот эта часть кода

PHP:
скопировать код в буфер обмена
  1. /* INTERES ================================================================ start */
  2.         $gallinteres = $row['interes'];
  3.         list($job,$interes,$music,$movie,$tv,$books,$games) = explode("|",$gallinteres);
  4.        
  5.         function editinter($victima, $fist){
  6.                 global $db;
  7.                 if(! preg_match( "/^([a-zA-Z]|[0-9]|&|,|-| |[а-яА-Я])*$/", trim($victima )))  {
  8.                         return $fist;
  9.                 } else {
  10.                         $victima = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $victima ) ) ) ) );
  11.                         $victima = ucwords(strtolower($victima));
  12.                         $victima = explode(", ",$victima);
  13.                         $victima = array_unique($victima);
  14.                         $victima = implode(", ",$victima);
  15.                         return $victima;
  16.                 }
  17.         }
  18.         $allinteres_new = editinter($_POST['interes'], $interes) . "|" .
  19.         $new_job = editinter($_POST['job'], $job) . "|" .
  20.         $new_music = editinter($_POST['music'], $music) . "|" .
  21.         $new_movie = editinter($_POST['movie'], $movie) . "|" .
  22.         $new_tv = editinter($_POST['tv'], $tv) . "|" .
  23.         $new_books = editinter($_POST['books'], $books) . "|" .
  24.         $new_games = editinter($_POST['games'], $games);
  25. /* INTERES ================================================================ end */
 
 Top
Panoptik
Отправлено: 28 Января, 2012 - 21:20:59
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




думаю всё дело в кодировке. нужно посмотреть в какой кодировке файл, сервер и БД - должны быть все в одной


-----
Just do it
 
 Top
mr.8pa4
Отправлено: 28 Января, 2012 - 21:25:25
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2011  
Откуда: Минск, Белоруссия


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




я файлы в Notepad++ перевёл в Utf 8 (без BOM) БД тоже Utf 8


CREATE TABLE IF NOT EXISTS `dle_users_interes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL DEFAULT '0',
`inter` varchar(100) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `inter` (`inter`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=202 ;

(Отредактировано автором: 28 Января, 2012 - 21:25:55)

 
 Top
Panoptik
Отправлено: 28 Января, 2012 - 21:29:36
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




сервер в какой кодировке работает?
если не знаете, добавьте в корень сайта файл .htaccess со следующим содержимым:
CODE (htmlphp):
скопировать код в буфер обмена
  1. AddDefaultCharset utf-8

(Добавление)
и еще перед выполнением запросов в БД сделайте следующий запрос:


-----
Just do it
 
 Top
mr.8pa4
Отправлено: 28 Января, 2012 - 21:33:12
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2011  
Откуда: Минск, Белоруссия


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




Сервер в UTF 8

не понял а куда именно добавить (SET NAMES utf8)

(Отредактировано автором: 28 Января, 2012 - 21:34:15)

 
 Top
Panoptik
Отправлено: 28 Января, 2012 - 21:35:14
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




перед всеми запросами после подключения к бд напишите просто


-----
Just do it
 
 Top
mr.8pa4
Отправлено: 28 Января, 2012 - 21:50:56
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2011  
Откуда: Минск, Белоруссия


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




Дурдом )))
записывает кириллицу .... но,
не все буквы ... к примеру если в слове есть ы,ц или у то слово в ДБ не заносит ....

я ещё не все символы проверил

(Отредактировано автором: 28 Января, 2012 - 21:51:54)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB