51 (изменено: nuker47, 2007-02-12 23:58:55)

Re: Содержимое таблиц отображается кракозяброй.

Вообщем разобрался, все оказалось намного прозаичнее:

1. Экспортируем базу через муадмин (Закладка "Export") в .sql файл.
// edit  Feb 12 07
// Токо что проверил способ еще раз, но не получилось, дело в том что оригинальный дамп я сливал через Navicat клиент, причем кодировка подключения была cp1251, в этом собственно весь и трюк. Можно, конечно это сделать руками через консоль, если нет удаленного доступа к базе (или разрешения на него), но а вот как указать одировку соединения в myadmin я не знаю, так что примите это во внимание.

2. Открываем в програме типa Notepad++ (мне нравится именно он, так как четко показывает кодировку документа и умеет делать utf8 без BOM так как надо, а не так как ему хочется...) Заменяем все DEFAULT CHARSET=latin1 на DEFAULT CHARSET=cp1251 и сохраняем дамп.

3. Экспортируем полученый дамп через муадмин (Закладка "Import") и указываем в выпадающем списке Character set of the file: cp1251. (Да, надеюсь не надо говорить, что лучше все это делать в Firefox or Opera, ИЕ 7.0, у меня лично, заливает всегда криво.)

4. Проверяем полученую базу - collation должно стать ср1251_  и русские буквы должны отображаться как следует.

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

6. Полученый файл открываем еще раз в Notepad++ и заменяем все cp1251 на utf8 (мне нужен collation utf8_unicode_ci так что я заменил сразу на - "utf8 COLLATE=utf8_unicode_ci"). Сохраняем файл.

7. Экспортируем полученый дамп через муадмин (Закладка "Import") и указываем в выпадающем списке Character set of the file: utf-8.

Все smile

52 (изменено: Orion, 2007-04-18 14:14:22)

Re: Содержимое таблиц отображается кракозяброй.

Тоже проблема с кракозяброй: ?„?‹???°      ?„?‹?? вот так все отображается и при этом на запрос SHOW VARIABLES LIKE 'character%' выдает
haracter_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
т.е. ютфнее некуда.
На странице показывается все нормально.
Дамп через pma и mysqldump тоже криво делается т.е. такие же кракозябры показываются не знаю в чем дело sad

Решил sad Все через тот же SET names utf8 а я думал, что для этой кодировки не надо писать - сакс sad

53

Re: Содержимое таблиц отображается кракозяброй.

Orion
Данные шли в cp1251 и сохранялись в utf8. MySQL сделала ка вы просили. smile
Игнорирование документации не осовбождает от крякозябов. Подумайте над этим.

Теперь для восстановления данных, вам необходимо перекодировать дамп из utf8 в cp1251, после чего появится кирилица, а затем сможете назад импортировать. При импорте надо будет выбрать кодировку дампа cp1251.

<?php

$filename = 'dump_name.sql';    // Имя файла дампа

$str = file_get_contents($filename);
$conv_str = iconv('UTF-8', 'windows-1251//IGNORE', $str);
$handle = fopen('converted.sql', 'w');
fwrite($handle, $conv_str);
fclose($handle);

?>

54

Re: Содержимое таблиц отображается кракозяброй.

Здраствуйте всем у меня проблемы с кодировкой сервер стоит на latin1, а мне надо в cp1251 что делать подскажите. Спасибо

55

Re: Содержимое таблиц отображается кракозяброй.

DIMAZka сказал:

Здраствуйте всем у меня проблемы с кодировкой

Здравствуй. Точнее говори, какие именно проблемы? Думается - это кракозябры.

DIMAZka сказал:

что делать подскажите.

Либо установить для MySQL-сервера в качестве "дефолтной" кодировки - cp1251; либо сконвертировать твои таблицы в cp1251. Как это сделать обсуждалось на этом форуме, в том числе и в этом топике.

Кроме того - прочитай вот эту статью: MySQL 4.1+ и любые проблемы с русскими буквами

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

56

Re: Содержимое таблиц отображается кракозяброй.

Здраствуйте Lokki! Проблема это знаки вопроса на сегодняшний день на удаленном сервере имеем
Variable_name     Value
character_set_client    utf8
character_set_connection    utf8
character_set_database    cp1251
character_set_filesystem    binary
character_set_results    utf8
character_set_server    latin1
character_set_system    utf8

локально у меня стоит денвер где в файле my.cnf прописано default-character-set = cp1251
но приоткрытии на сайте не локально базы ссылок вижу:
1 - http://www.кгыыв.com
?????????????? ??????

статьи предложенные Вами прочитаны, но решить проблему не помогают:(

57

Re: Содержимое таблиц отображается кракозяброй.

Если используется самописанный скрипт, добавьте запрос "SET NAMES кодировка", сразу после соединения.

58

Re: Содержимое таблиц отображается кракозяброй.

Hanut сказал:

Если используется самописанный скрипт, добавьте запрос "SET NAMES кодировка", сразу после соединения.

- не помогло есть еще идеи?

59

Re: Содержимое таблиц отображается кракозяброй.

DIMAZka
Покажите пример данных, как они видны в дампе.

60

Re: Содержимое таблиц отображается кракозяброй.

-- phpMyAdmin SQL Dump
-- version 2.10.0.2
-- http://www.phpmyadmin.net
--
-- Время создания: Май 11 2007 г., 16:10
-- Версия сервера: 5.0.32
-- Версия PHP: 5.2.0-8+etch1

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

INSERT INTO `links2` (`ID`, `url`, `description`) VALUES
('1', 'http://www.xxx.com', 'Информационный портал');

61

Re: Содержимое таблиц отображается кракозяброй.

DIMAZka
Я не точно выразился. Нужна структура таблицы, ее кодировки и пример данных. Только данных не достаточно. Разве этот дамп сделан в Денвере? Еще раз уточняю проблему: локально, на Денвере, дамп работает, на удаленном сервере вместо кирилицы знаки вопроса. Все верно?

62

Re: Содержимое таблиц отображается кракозяброй.

Hanut сказал:

DIMAZka
Я не точно выразился. Нужна структура таблицы, ее кодировки и пример данных. Только данных не достаточно. Разве этот дамп сделан в Денвере? Еще раз уточняю проблему: локально, на Денвере, дамп работает, на удаленном сервере вместо кирилицы знаки вопроса. Все верно?

Спасибо за внимание!
Я не есть специалист по php & mysql возможно я не много не понимал, что от меня требуется и не совсем так выполнял предложенные варианты решения проблемы, чем доставил вам определенные неудобства, за что еще раз примите мои извинения! Как оказалось я просто не правильно прописывал "SET NAMES"
Проблему удалось решить правильно прописав php скрипт : mysql_query("SET NAMES cp1251");

спасибо всем кто помогал мне в решении данного вопроса smile

63

Re: Содержимое таблиц отображается кракозяброй.

Возникла такая проблема: Мой хостер поменял оборудование, перенес всю базу данных на другое аборудование, и у меня на форуме русские буквы стали отображаться вопросительными знаками (абв=???). Вот отчет об ошибке что пришло на почту:
Database error in vBulletin 3.6.8:

Invalid SQL:

            SELECT *
            FROM session
            WHERE userid = 0
               AND host = '80.64.84.127'
               AND idhash = '94d4c01ab04222979076cb472e578384'
            LIMIT 1;

MySQL Error  : Table 'forum.session' doesn't exist
Error Number : 1146
Date         : Wednesday, March 12th 2008 @ 08:09:40 PM
Script       : http://сайт/forum/
Referrer     :
IP Address   : 80.64.84.127
Username     :
Classname    : vB_Database


что делать? как востановить норм кодировку?

Сообщение добавлено Sun Mar 23 23:22:27 2008
Сообщение добавлено Sun Mar 23 23:19:54 2008
в админ панели форума тоже самое....
Незнаю даже куда обратиться:(

64

Re: Содержимое таблиц отображается кракозяброй.

psm
По идее обратиться надо к хостеру, так как только он знает какие настройки были изменены.

Приведенная вами ошибка говорит об отсутствии таблицы session в БД forum, что не имеет никакого отношения к кодировкам, а вот куда эта таблица делась - я знать не могу.

По кодировкам.
Надеюсь у вас был сделан дамп и вы можете показать структуру любой таблицы и пример того как выглядит кирилица.
Покажите результат выполнения запроса:
SHOW VARIABLES LIKE 'character%';

65

Re: Содержимое таблиц отображается кракозяброй.

Всем , здрасте. Несколько часов просидел в этой теме, но решить своей проблемы с кракозябрами в базе не смог.
Я новичок в рнр и в MyAdmin мало чего понимаю. Многое из прочитаного в этой теме применял к данным своей базы - пока кракозябры еще вися в моих таблицах.
На хосте у меня :
MySOL connection collation - utf8_unicode_ci
MySOL charset - UTF-8Unicode
На локальном :
MySQL Charset:  Windows Cyrillic (cp1251)   
MySQL connection collation: cp1251_general_ci


Это получаю при запросе к таблице:
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

При импорте указываю utf8
Ну почему эти крякозябры все время у меня в таблицах , а кирилицы нет.

66

Re: Содержимое таблиц отображается кракозяброй.

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

67 (изменено: Goltara, 2008-05-03 18:01:43)

Re: Содержимое таблиц отображается кракозяброй.

Hanut сказал:

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

Структура это оно?
id       int(5)       Да       NULL                      
cat      int(1)     Да      0                  
meta_d      varchar(255)     Да                        
meta_k      varchar(255)     Да                        
description      text     Да                        
text      text     Да                        
view      int(7)     Да      0                  
author      varchar(100)     Да                        
date      date     Так      0000-00-00                  
mini_img      varchar(255)     Да                        
title      varchar(255)     Да

Вид кракозябров
Aglia, окуня, води, водоймищах,...

Я новичок в рнр и в MyAdmin мало чего понимаю.

"Строку с  данными из дампа "    -  это как ?

68

Re: Содержимое таблиц отображается кракозяброй.

Goltara
Тот файл который вы импортирует и есть дамп. Скопируйте из него открыв в текстовом редакторе.
Где так крякозябы выглядят: в phpMyAdmin, или на сайте?
Что за скрипт используете?

69

Re: Содержимое таблиц отображается кракозяброй.

Крякозябры в phpMyAdmin.

CREATE TABLE `data` (
  `id` int(5) NOT NULL auto_increment,
  `cat` int(1) NOT NULL default '0',
  `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(100) NOT NULL default '',
  `date` date NOT NULL default '0000-00-00',
  `mini_img` varchar(255) NOT NULL default '',
  `title` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=64 ;

INSERT INTO `data` (`id`, `cat`, `meta_d`, `meta_k`, `description`, `text`, `view`, `author`, `date`, `mini_img`, `title`) VALUES

70

Re: Содержимое таблиц отображается кракозяброй.

Goltara
То что ниже Values - это строка с данными, ее тоже покажите (небольшой кусок, который должен быть кирилицей).

71

Re: Содержимое таблиц отображается кракозяброй.

Hanut сказал:

Goltara
То что ниже Values - это строка с данными, ее тоже покажите (небольшой кусок, который должен быть кирилицей).

Странно. В текстовом файле все кирилицей. Почему тогда в базу ставится криво?
Вот строка с данными( вернее фрагмент ): "(1, 1, 'Ловля жереха на річці Дністер.', 'жереха, Rapala, риба, ловити, воблер, жерехи, воблери, блешня, головень, Дністрі, коли, оберталки, плаваючий, жерех, течії, Down', "

72

Re: Содержимое таблиц отображается кракозяброй.

Goltara
Попробуйте при импорте выбрать кодировку файла cp1251.

73 (изменено: Goltara, 2008-05-04 12:26:52)

Re: Содержимое таблиц отображается кракозяброй.

Hanut сказал:

Goltara
Попробуйте при импорте выбрать кодировку файла cp1251.

Так я так и делаю. При импорте указываю адрес файла и внизу окна импорта в поле кодировки указываю ср1251, а в результате в импортируемой таблице в phpMyAdmin получаю:

Риболовля на річці Дністер,...

На странице рнр - то же, хотя в коде прописал

mysql_query('SET NAMES CP1251',$db);

74

Re: Содержимое таблиц отображается кракозяброй.

Goltara
А при выборе кодировки файла utf8 на странице импорта, что выходит в phpMyAdmin?

75

Re: Содержимое таблиц отображается кракозяброй.

Hanut сказал:

Goltara
А при выборе кодировки файла utf8 на странице импорта, что выходит в phpMyAdmin?

Такие же каракули.
Все по порядку. У меня стояла более ранняя версия phpMyAdmin , из нее я экспортировал данные на хост. Потом у меня слитела винда, данные на локалке не удалось сохранить. Но для продолжения работы мне надо иметь копию сайта на локалке. После переустановки винды, я установил Денвер-3. В нем phpMyAdmin 2.6.1. Я решил перенести таблицы данных с хоста на локалку. Врезультате целую неделю уже мучеюсь, а положительного результана не добился.