1

Тема: После импорта бд одни "???????????"

На локальной машине стоит phpmyadmin 3.2.0-dev - делаю экспорт таблиц, затем захожу на хост, там стоит phpMyAdmin 2.8.2.4 импортирую таблици, все нормально все данные в них нормально отображаються, но на страницах сайта вместо русских букв выдает вопрос.знаки, кодировка cp1251_general_ci при импорте выбираю cp1251 на страницах стоит CP 1251 - в чем проблема помогите решить, очень нужно!

2

Re: После импорта бд одни "???????????"

AHJIoKeR
Если и локально и удаленно в phpMyAdmin видна кириллица - значит проблема в кодировке соединения с MySQL.
Выполните на обоих серверах в phpMyAdmin запрос и покажите результат:

SHOW GLOBAL VARIABLES LIKE 'char%';

Что за скрипт на сайте используется? Если коммерческий, то стоит поискать в документации к нему директиву устанавливающую кодировку соединения с MySQL. Вам надо установить кодировку в cp1251.
Есть доступ к конфигурационному файлу MySQL на сервере?

3

Re: После импорта бд одни "???????????"

Да скрипт простенький - просто запрос и вывод инфы - рпобовал импортировать на локальную машишу тотже файл который с неё создал и все нормально отображается.
Что, касается "SHOW GLOBAL VARIABLES LIKE 'char%';" на хосте выдает:
-------------------------------------------------
Variable_name     Value
character_set_client    latin1
character_set_connection    latin1
character_set_database    latin1
character_set_filesystem    binary
character_set_results    latin1
character_set_server    latin1
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/
----------------------------------------------------------
на локальной машине на запрос :SHOW GLOBAL VARIABLES LIKE 'char%'; - получил ошибку:
--------------------------
Ошибка

SQL-запрос:

SHOW CREATE TABLE `magazin`.`VARIABLES`

Ответ MySQL: 
#1146 - Table 'magazin.variables' doesn't exist
-------------------------
и еще я заметил что, на хосте на главной страничке:
в поле "Сопоставление соединения с MySQL:" стоит - utf8_geniral_ci пытаюсь помень это поле, но оно все равно остается темже!


Есть доступ к конфигурационному файлу MySQL на сервере? - скажите как это выяснить?

4

Re: После импорта бд одни "???????????"

Я то же пытался сделать на DLE и результат тот же

5

Re: После импорта бд одни "???????????"

Я не патаю делать на DLE, я просто считываю данные из БД скрипт из одной строчки и скрипт тут не причем!

6

Re: После импорта бд одни "???????????"

Все проблема решена:
нужно было после соеденения с базой дать запрос - set names cp1251;

7

Re: После импорта бд одни "???????????"

AHJIoKeR
Спасибо, что отписали о решении проблемы. Вы все правильно сделали.
Сразу после функции mysql_connect добавляем строку:

mysql_query('SET NAMES cp1251');

8

Re: После импорта бд одни "???????????"

Сейчас попробую, и отпишу! у меня потомучто тоже самая проблемма.

9

Re: После импорта бд одни "???????????"

<?php
$db = mysql_connect ("localhost","obereguser","12345");
mysql_query("SET NAMES cp1251");
mysql_select_db("oberegisr",$db);
?>


типо так добавить на каждую стр там где вывожу из db?


но при чем тут вывод странице в браузере и сами ????????? в самой таблице,
знаки вопросы в самойже mysql в таблицах, а выводятся они норм

10

Re: После импорта бд одни "???????????"

litecanada сказал:

так добавить на каждую стр там где вывожу из db?

На каждую страницу, где есть вызов функции mysql_connect

В MySQL нет вопросов, это у вас что-то с настройками phpMyAdmin, иначе бы на сайте ничего не выводилось.
Только в вашем случае установка кодировки соединения с MySQL сейчас не поможет. Сперва необходимо перекодировать данные находящиеся в БД.

11

Re: После импорта бд одни "???????????"

Хочу попробовать исправить ???????????????? по 2-му способу, mysql_query('SET NAMES cp1251'); но, так как я -новичок, то не знаю, где искать вызов функции mysql_connect?

12

Re: После импорта бд одни "???????????"

skazka
Функцию mysql_connect следует искать во всех файлах скрипта. Обычно она встречается только один раз, но это не обязательно.

Вышеупомянутое решение поможет только если в phpMyAdmin вы видите кириллицу.