Проблема отображения сайта

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
zorg
лейтенант
Сообщения: 665
Зарегистрирован: 2006-03-01 22:25:36
Откуда: Санкт-Петербург

Проблема отображения сайта

Непрочитанное сообщение zorg » 2006-06-07 22:47:19

Добрый день!
Не подскажете где нарыть ошибку:
на сайте отображается вместо русских букв одни знаки вопроса.
Понимаю что проблемы с кодировкой, но в каком месте????
Сами данные которые вопросами хранятся в БД MYSQL.
Заливал их туда по разному и из под системы и через phpmyadmin. В phpmyadmin они читаются нормально. :oops:
Всё дело в перце!! :)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-06-07 22:59:10

первой командой, сразу после установления соединения дай:

Код: Выделить всё

SET CHARSET cp1251
только кодировку свою подставь....
====
надо дамп конвертить в дефолтовый формат БД - отдампь БД у себя через phpMyAdmin в формате 16-ричных кодов, или ,если не прокатит, в формате MySQL 4.0 и пробуй...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zorg
лейтенант
Сообщения: 665
Зарегистрирован: 2006-03-01 22:25:36
Откуда: Санкт-Петербург

Непрочитанное сообщение zorg » 2006-06-08 8:54:15

Я думаю что проблемы в том что:
Когда за хожу в phpmyadmin то у меня показывает:

Код: Выделить всё

MySQL-кодировка: UTF-8 Unicode (utf8) 
А также:

Код: Выделить всё

character set client utf8 
(Глобальное значение) cp1251 
character set connection cp1251 
character set database cp1251 
character set results utf8 
(Глобальное значение) cp1251 
character set server cp1251 
character set system utf8 
character sets dir /usr/local/share/mysql/charsets/ 
collation connection cp1251_general_ci 
collation database cp1251_general_ci 
collation server cp1251_general_ci 
concurrent insert  cp1251_general_ci
А для той базы данных всё cp1251
Хотя когда захожу рутом в мускуль, то по команде status даёт:

Код: Выделить всё

--------------
mysql  Ver 14.7 Distrib 4.1.18, for portbld-freebsd4.11 (i386) using readline 5.1

Connection id:          69
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          more
Using outfile:          ''
Using delimiter:        ;
Server version:         4.1.18-log
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    cp1251
Db     characterset:    cp1251
Client characterset:    cp1251
Conn.  characterset:    cp1251
UNIX socket:            /tmp/mysql.sock
Uptime:                 10 hours 38 min 42 sec

Threads: 1  Questions: 9741  Slow queries: 0  Opens: 375  Flush tables: 1  Open tables: 105  Queries per second avg: 0.254
--------------
Вообщем если моё предположение верно, не подскажете как сменить MySQL-кодировка: UTF-8 Unicode (utf8) на cp1251 ????? Или тока пересобирать mysql?? Если пересобирать, то правильно ли я понимаю, что нужно будет пересобирать тогда и Апач с PHP ????? :?:
Всё дело в перце!! :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-06-08 13:30:02

тока mysql.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zorg
лейтенант
Сообщения: 665
Зарегистрирован: 2006-03-01 22:25:36
Откуда: Санкт-Петербург

Непрочитанное сообщение zorg » 2006-06-08 21:11:08

Вообщем попробовал в конфиге сайта вариант который ты мне писал первый раз, прокатило, вопросы исчезли, но всё равно попробую пересобрать с друго кодировкой, чтобы убедиться! :)
Всё дело в перце!! :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-06-09 10:17:18

zorg писал(а):Вообщем попробовал в конфиге сайта вариант который ты мне писал первый раз, прокатило, вопросы исчезли, но всё равно попробую пересобрать с друго кодировкой, чтобы убедиться! :)
нет. не прокатило.
если есть на сайте возможность добавлять что-то в БД (комменты и пр.) то у тебя свежедобавленное будет в виде вопросов...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zorg
лейтенант
Сообщения: 665
Зарегистрирован: 2006-03-01 22:25:36
Откуда: Санкт-Петербург

Непрочитанное сообщение zorg » 2006-06-09 14:15:17

А это у них на сайте есть параметры соединения с базой MYSQL. В них и добавил кодировку. НО возможно ты и прав. Всё равно сервак испытательный, а потом уже заведу на постоянку дам пароли и пусть сами парятся. Непонравиться пусть хостяться на старом местеи ждут когда сайт загрузиться по минуте и больше! :)
Всё дело в перце!! :)

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: Проблема отображения сайта

Непрочитанное сообщение risk94 » 2009-06-16 21:37:47

подобная ситуация. просветления не пришло. в базе вижу нормально, на сайте часть - ввиде "?" подскажите что проверить и как должно быть.

Код: Выделить всё

character_set_client 	cp1251

	character_set_connection 	cp1251

	character_set_database 	cp1251

	character_set_filesystem 	binary

	character_set_results 	cp1251

	character_set_server 	cp1251

	character_set_system 	utf8

	character_sets_dir 	/usr/local/share/mysql/charsets/

	collation_connection 	cp1251_general_ci

	collation_database 	cp1251_bin

	collation_server 	cp1251_bin
пример дампа

Код: Выделить всё

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES cp1251 */; -- -- База данных: `visageha_visage`
--
DROP DATABASE `visageha_visage`;
CREATE DATABASE `visageha_visage` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
USE `visagekha_visage`;

-- --------------------------------------------------------

--
-- Структура таблицы `configuration`
--

CREATE TABLE IF NOT EXISTS `configuration` (
  `id` int(11) NOT NULL,
  `name` varchar(30) NOT NULL,
  `value` varchar(255) DEFAULT NULL,
  `variable_name` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Дамп данных таблицы `configuration`
--

INSERT INTO `configuration` (`id`, `name`, `value`, `variable_name`) VALUES
(1, 'Дата обновления цен', '19.04.2009', 'LAST_UPDATE_PRICES'),
(2, 'Курс доллара', '7', 'DOLLAR_RATE');

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1421
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

Re: Проблема отображения сайта

Непрочитанное сообщение server801 » 2009-06-17 10:50:15

а вообще не все сайты работают правильно с кодировкой.есть такой двиг PHP-Fusion -то пока не изменишь параметры в самом maincore.php -то работать не будет.была такая трабла недавно.хотя на локалхосте на виндовом апаче все работает прекрасно.
пример для него
1
В phpMyAdmin->Operations установите Collation в cp1251_general_ci и GO При этом выполнится SQL примерно такого содержания:

Код: Выделить всё

ALTER DATABASE `имя_базы` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
2
файле maincore.php найдем функцию

Код: Выделить всё

function dbconnect($db_host, $db_user, $db_pass, $db_name) {
...
}
заменим все на

Код: Выделить всё

function dbconnect($db_host, $db_user, $db_pass, $db_name) {
$db_connect = @mysql_connect($db_host, $db_user, $db_pass);
$db_select = @mysql_select_db($db_name);
mysql_query ("set character_set_client='cp1251'"); 
mysql_query ("set character_set_results='cp1251'"); 
mysql_query ("set collation_connection='cp1251_general_ci'");
if (!$db_connect) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to establish connection to MySQL</b><br>".mysql_errno()." : ".mysql_error()."</div>");
} elseif (!$db_select) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to select MySQL database</b><br>".mysql_errno()." : ".mysql_error()."</div>");
}
}
вобщем гугель ответил мне тогда