Тема: Закаракули в самой таблице =((

Когда захожу в phpmyadmin на хостинге godaddy то когда выбираюб баззу данных mysql 5.0 и хочу сделать тамп, я вижу
вот это
http://pic.ipicture.ru/uploads/090503/EP0t5hiqCo.jpg

может ктото встречал такое и как с этим боротся?


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


уже неделю не могу понять изза чего и как вернуть текст в норм состояния, но текст на сайте выводится норм без всяких ироглифов.

2

Re: Закаракули в самой таблице =((

litecanada
Решение здесь не простое.
Как я понимаю phpMyAdmin централизованный и то, что он выводит вопросики, говорит о специфической настройке. Для начала надо избавиться от вопросиков, для чего попробуйте поставить на сайт отдельный phpMyAdmin. Думаю при просмотре в нем у вас вместо вопросиков появятся крякозябы, с ними и надо будет потом думать дальше.

Вопросы:
1) Какая кодировка сайта?
2) Покажите вывод SQL запроса (выполняется в phpMyAdmin):

SHOW GLOBAL VARIABLES LIKE 'char%';

3

Re: Закаракули в самой таблице =((

1)
нас страницах стоит
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />


2)
Variable_name     Value
character_set_client    utf8
character_set_connection    utf8
character_set_database    utf8
character_set_filesystem    binary
character_set_results    utf8
character_set_server    utf8
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/

4

Re: Закаракули в самой таблице =((

litecanada
Вы смогли поставить отдельный phpMyAdmin? Надо посмотреть как будут выглядеть вопросики в нем.

Как вариант, по пробуйте выполнить запрос (подставьте название любой таблицы вместо table_name):

SET NAMES utf8;
SELECT * FROM `table_name`;

5

Re: Закаракули в самой таблице =((

Hanut не подскажеш как хаменить в самой db utf 8 все на
charset=windows-1251 ?

Сообщение добавлено Sat May  9 00:24:23 2009
SQL-запрос:
SET NAMES utf8;# MySQL вернула пустой результат (т.е. ноль строк).
SELECT *
FROM `news` ;

[ Изменить ] [ PHP-код ]
          строк начиная с 
в  режиме, заголовки после каждых  ячеек         

Сортировать по индексу:       id     title     meta_k     meta_d     data     text     image
              53    ????????    ????????    ????????    2009-12-28   
?????? ?? ???? ?????????? ?????????, ????? ?????...    images/818901.jpg
              54    ????? ????    ????? ????    ????? ????    2008-10-28    ?? ????? ????? ?? ??????:
?????? ???? ?????? ? ??...    images/844401.jpg
              55    ??????? ? ????????    ??????? ? ????????    ??????? ? ????????    2008-12-29    ?? ?????????????? ???????? ?? ???????? ? ????????....    images/559162.jpg
              56    ?????: ??????? "??? ???????????"    ?????: ??????? "??? ???????????"    ?????: ??????? "??? ???????????"    2009-01-25    ????? ???????? ??????? ????????? "??????" ????????...    images/2526082328images.jpg
              57    ?????????? ?? ?????? ???????    ?????????? ?? ?????? ???????    ?????????? ?? ?????? ???????    2009-01-30    ?????? ?????? ????? (15-21/03) ????????? ?????????...    images/7609412.jpg
              58    ???? ???????    ???? ???????    ???? ???????    2009-02-13    ???????? ??????? ?????????? ????????? ?????????? ?...    images/18648moshe.jpg
              59    ????? 2009 - ?????    ????? 2009 - ?????    ????? 2009 - ?????    2009-04-24    ????? 2009 ????? ??????? ? ???????????? ????????. ...    images/202431111.gif

6

Re: Закаракули в самой таблице =((

так другая фигня smile
удалил через админку ссе новости ввел через админку
теперь в таблицах все норм видно
а на самом сайте знаки вопроса sad(((



это иза того что база в utf а на сайте вывод windows-1251 ?



и последнее реалньо изменить всю базу с utf  на windows-1251  ?

7

Re: Закаракули в самой таблице =((

litecanada сказал:

????????    ????????

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

Если вы будете вводить новости вручную, то потребуется выполнить две вещи:
1) Таблицы должны быть в кодировке cp1251 (сравнение cp1251_general_ci).
2) Установить кодировку соединения в cp1251 с помощью запроса сразу после вызова функции mysql_connect:

mysql_query('SET NAMES cp1251');

Добавлять эту строку надо во всех скриптах имеющих функцию mysql_connect. И в админке и на сайте.

8

Re: Закаракули в самой таблице =((

Код:
mysql_query('SET NAMES cp1251');

это я добавил а вот сами таблицы с utf  на windows-1251  как изменить теперь ?

таблице в формате utf

9

Re: Закаракули в самой таблице =((

+в my sql чтоб было

Сопоставление соединения с MySQL: cp1251_general_ci ?


а как таблице в формате utf заменить на cp1251_general_ci  ? sad

10

Re: Закаракули в самой таблице =((

litecanada
Если в phpMyAdmin кириллица видна, то поменять сравнения таблиц несложно.
Сделайте дамп, откройте его в текстовом редакторе и смените все utf8 в структурах таблиц на cp1251.
Импортируйте дамп обычным образом.

Если в phpMyAdmin крякозябы, то их необходимо перекодировать для этого сохраните дамп, чтобы в нем были такие крякозябы ????????    ????????. Если сможете это сделать (и это вообще надо) - подскажу, как перекодировать.

11

Re: Закаракули в самой таблице =((

я разобрался . надо делать когда таблицы делаю так вот так

CREATE TABLE `data` (
  `id` int(5) NOT NULL auto_increment,
  `cat` int(1) NOT NULL default '0',
  `title` varchar(255) NOT NULL default '',
  `meta_d` varchar(255) NOT NULL default '',
  `meta_k` varchar(255) NOT NULL default '',
  `description` text NOT NULL,
  `text` text NOT NULL,
  `view` int(7) NOT NULL default '0',
  `author` varchar(255) NOT NULL default '',
  `date` date NOT NULL default '0000-00-00',
  `mini_img` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

добавить.
DEFAULT CHARSET=cp1251


но у меня другая проблема с другим сайтом мне надо вытащить дамп базы но я не могу sad потомучто в самих таблицах ??????? и там уже не исправить что сделать можно ?

12

Re: Закаракули в самой таблице =((

есть какаета команда SQL запрос что с UTF или другой кодировки сразу заменит мне на cp1251 ? в таблице которую я выбрал ?

13

Re: Закаракули в самой таблице =((

litecanada
Нет такого запроса. Необходимо создать текстовый дамп и перекодировать его с помощью iconv, затем импортировать назад.

Я уже говорил: пробуйте сделать дамп, чтобы в нем были крякозябы, их можно попробовать перекодировать. Из вопросиков в дампе кириллицу вернуть нельзя.

Если в phpMyAdmin вопросики, а на сайте кириллица отображается - пробуйте ставить отдельный phpMyAdmin на сайт и делать дамп с его помощью.