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 :: И снова кодировка..... [2]

 PHP.SU

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


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

> Без описания
valenok
Отправлено: 25 Января, 2009 - 11:40:58
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-type: text/html; charset=windows-1251');
  3.  
  4. $db_link=mysql_connect($cfg["db"]["host"], $cfg["db"]["user"], $cfg["db"]["pass"]);
  5. mysql_query("SET NAMES 'cp1251'");  
  6.  
  7. ?> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <?PHP
  8.  
  9. $mas=mysql_query("SELECT * FROM `questions`");
  10. while( $mass=mysql_fetch_array($mas))
  11.     echo $mass["question"],'<br/>';


-----
Truly yours, Sasha.
 
My status
 Top
SergeyQW
Отправлено: 25 Января, 2009 - 11:43:45
Post Id



Новичок


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


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




Аналогично.. сергей
 
 Top
valenok
Отправлено: 25 Января, 2009 - 11:52:48
Post Id



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


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


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




Забавно
Открой пожалуйста phpMyAdmin и посмотри что стоит в collation у этого поля ?
И вернёмся к первому варианту с ютф-8. Если второй кнопочкой ткнуть в браузер и выбрать в выдающем меню "информация о странице" или 'view page info' (filefox) то что написно в поле кодировки ?


-----
Truly yours, Sasha.
 
My status
 Top
SergeyQW
Отправлено: 25 Января, 2009 - 12:06:25
Post Id



Новичок


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


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




Итак
Срвнение у этого поля cp1251_general_ci
Сопоставление соединения с MySQL:cp1251_general_ci
MySQL-кодировка: UTF-8 Unicode (utf8)
Заодно my.ini и переменные прикреплю.
Скачать файл: MySQL.rar
Скачан раз: 149
 
 Top
Kosteg
Отправлено: 06 Февраля, 2009 - 21:40:35
Post Id


Новичок


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


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




Тоже появилась проблема с кодировкой. Но уже когда залил сайт на хостинг. У меня на локальном компе стоит денвер. Все отлично работает. Делаю дамп базы из SQLyog, просматриваю через текстовик - там utf8, где выбрать кодировку при создании дампа - не нашел. В самих таблицах collation - cp1251_general_ci. И заливаю ее на хостинг(qkr.in). Но, данные из базы отображаются в виде ?????????? ???? ?? и т.д. Менял руками utf8 на cp1251 - не помогло. Может дело в хостинге? Когда у них на c_panel выбираю русский - тоже идут "????????"
 
 Top
betonka
Отправлено: 20 Марта, 2009 - 11:32:49
Post Id


Новичок


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


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




вот как я вышел с этой ситуации при выводе данных

CODE (text):
скопировать код в буфер обмена
  1.   $db=mysql_pconnect("localhost","acis_k",'dgFyLjGS');
  2.  
  3.   if(!$db)
  4.   {
  5.   echo "ERROR: couldnt connect to dbase";
  6.   exit;
  7.   };
  8. //echo 'соиденение установленно';
  9.  
  10. if (function_exists('mysql_set_charset') === false) {
  11.  
  12. function mysql_set_charset($charset, $db = null)
  13. {
  14.      if ($db == null)
  15.      {
  16.          return mysql_query('SET CHARACTER SET "'.$charset.'"');
  17.      } else {
  18.          return mysql_query('SET CHARACTER SET "'.$charset.'"', $db);
  19.     }
  20. }
  21. }
  22.   mysql_set_charset("cp1251", $db);



но возникла проблема при записи в базу кириллицы, срабатывает 50 на 50 или коректно запишет или ???????????????

(Отредактировано автором: 20 Марта, 2009 - 11:36:35)

 
 Top
Stierus Супермодератор
Отправлено: 20 Марта, 2009 - 11:54:40
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




Напиши результат запроса к бд:

CODE (text):
скопировать код в буфер обмена
  1. SHOW VARIABLES WHERE Variable_name LIKE '%character%' OR Variable_name LIKE '%collation%' OR Variable_name = 'init_connect'
 
My status
 Top
betonka
Отправлено: 20 Марта, 2009 - 13:25:56
Post Id


Новичок


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


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




Напиши результат запроса к бд:


CODE (text):
скопировать код в буфер обмена
  1. Variable_name    Value
  2. character_set_client    utf8
  3. character_set_connection        utf8
  4. character_set_database  utf8
  5. character_set_filesystem        binary
  6. character_set_results   utf8
  7. character_set_server    latin1
  8. character_set_system    utf8
  9. character_sets_dir      /usr/share/mysql/charsets/
  10. collation_connection    utf8_general_ci
  11. collation_database      utf8_general_ci
  12. collation_server        latin1_swedish_ci
  13. init_connect    
 
 Top
Stierus Супермодератор
Отправлено: 20 Марта, 2009 - 13:31:22
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




выводы сам сделаешь ?Улыбка
 
My status
 Top
betonka
Отправлено: 20 Марта, 2009 - 13:35:20
Post Id


Новичок


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


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




тобишь база сама на utf8,я делаю 1251, потому проскакивает через раз ???????? Но как решить эту проблему?
(Добавление)
получается ведь вся база построенна на cp1251_general_ci,
 
 Top
Stierus Супермодератор
Отправлено: 20 Марта, 2009 - 13:43:27
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




Цитата:
получается ведь вся база построенна на cp1251_general_ci,
Это откуда так получается ?

Мне видися, что у тебя вся база в utf-8, соединение такое же, результат приходит тоже в utf-8 ... тебе нужно перед работой iconv использовать, причем не только при чтении, но и при записи (сайт у тебя cp-1251, как я понимаю), либо перенастраивать целиком базу данных. Ты можешь доступ через интернет к ней открыть ?
(Добавление)
http://sqlinfo[dot]ru/articles/info/2[dot]html
(Добавление)
http://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html

(Отредактировано автором: 20 Марта, 2009 - 13:46:38)

 
My status
 Top
betonka
Отправлено: 22 Марта, 2009 - 09:15:16
Post Id


Новичок


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


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




Сделал вот такую дописку

CODE (text):
скопировать код в буфер обмена
  1. mysql_query('SET NAMES \'cp1251\'');


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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB