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 :: MySQL и кодировки

 PHP.SU

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


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

> Описание: MySQL и кодировки
Фельдшер
Отправлено: 20 Сентября, 2006 - 06:42:41
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Сент. 2006  


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $sql="SELECT * FROM `sections` WHERE `name` LIKE '" .  $_GET['page'] .  "'";
  3. $res = mysql_query($sql);
  4. print_r(mysql_result($res,0,3));
  5.  


при таком коде на страницу выводятстя только знаки вопроса
структура базы прилагается

что я не так делаю???Не понял
 
 Top
UserID
Отправлено: 20 Сентября, 2006 - 07:07:11
Post Id



Магистр JavaScript


Покинул форум
Сообщений всего: 151
Дата рег-ции: Авг. 2006  


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




1. Можно проверить какую кодировкуу транслирует твой сервак.
2. Видимо проблема может быть в самой функции расширенного вывода print_r. Попробуй что-нибудь альтернативное.
 
 Top
evgenijj
Отправлено: 20 Сентября, 2006 - 12:05:29
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


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




В новых версиях MySQL (начиная с 4.1.0) изменился порядок работы с национальными кодировками, поэтому старый код может вызывать появление в таблице базы данных знаков вопроса '????????' вместо русского текста. Для того, чтобы этого не возникало, в начало PHP-скрипта, после установки соединения с базой данных, следует поместить следующие строки:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.   mysql_query ("set character_set_client='cp1251'");
  4.   mysql_query ("set character_set_results='cp1251'");
  5.   mysql_query ("set collation_connection='cp1251_general_ci'");
  6. ?>
  7.  


Придерживаться правильного синтаксиса SQL-запросов:

PHP:
скопировать код в буфер обмена
  1.  
  2. CREATE DATABASE mydb DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
  3. CREATE TABLE mytab (
  4.    id int(10) unsigned NOT NULL auto_increment,
  5.    head tinytext NOT NULL,
  6.    body longtext NOT NULL,
  7.    PRIMARY KEY  (id)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
  9.  
 
 Top
UserID
Отправлено: 20 Сентября, 2006 - 14:20:30
Post Id



Магистр JavaScript


Покинул форум
Сообщений всего: 151
Дата рег-ции: Авг. 2006  


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




Вот, поэтому никогда не стоит гнаться за новыми версиями)) 4.0.18 работает так как скажешь))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB