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
Форумы портала PHP.SU :: Версия для печати :: Как определить кодировку таблицы на сервере?
Форумы портала PHP.SU » » Кодировки и все смежное » Как определить кодировку таблицы на сервере?

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

1. PVG - 07 Октября, 2012 - 19:30:50 - перейти к сообщению
Здравствуйте. Подскажите пожалуйста как определить кодировку БД на сервере. Этим вопросом задался потому что из таблиц русские символы выводятся знаками вопроса.

Хостинг бесплатный. С БД работаю файлом. Вот одна из попыток узнать кодировку, которая опять ничего не дала (нашел в гугле):

PHP:
скопировать код в буфер обмена
  1. <?if (!($db = mysql_connect('', '', '')))
  2.         {die ('Unable to connect. Check your connection parameters.');}
  3.     if (!mysql_select_db('', $db))
  4.         {die('Unable to select database.');}
  5.        
  6. $query = "SHOW VARIABLES LIKE 'character_set_database';";
  7.         echo $query . "<br>";
  8.         $result = mysql_query($query, $db) or die(mysql_error($db));
  9.         if ($result){echo "selected:<br>";}
  10.                 while ($value = mysql_fetch_array($result, MYSQL_NUM)) {
  11.                 $p = $value[0];
  12. }      
  13. echo $p;
  14.                 ?>


Результат:

SHOW VARIABLES LIKE 'character_set_database';
selected:
character_set_database

Может я что-то неправильно делаю, результат например вывожу?

Вставлять строки в скрипты:
mysql_query("SET NAMES UTF-8");
и аналогичную с ср1251 пробовал - знаки вопроса, как и раньше.
2. Viper - 07 Октября, 2012 - 19:57:27 - перейти к сообщению
Попробуйте collate задавать
3. caballero - 07 Октября, 2012 - 20:17:09 - перейти к сообщению
скорее всего в БД уже вставлено криво

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

а это
mysql_query("SET NAMES UTF-8");
надо включать всегда

Цитата:
Попробуйте collate задавать

это для поиска и сортировок
4. PVG - 07 Октября, 2012 - 20:50:48 - перейти к сообщению
При создании табллицы принудительно назначил утф. Все показало нормально, но ругается сессия. Если убрать БОМ, то все варнинги пропадают, но появляются кракозябры.
Как быть подскажите пожалуйста.
5. Bio man - 07 Октября, 2012 - 21:26:21 - перейти к сообщению
caballero пишет:
mysql_query("SET NAMES UTF-8");
mysql_query("SET NAMES 'utf8'"); скорее так
6. PVG - 07 Октября, 2012 - 22:23:15 - перейти к сообщению
Bio man пишет:
mysql_query("SET NAMES 'utf8'"); скорее так

Исправил. Все как было.

 

Powered by ExBB FM 1.0 RC1