1

Тема: Как из utf-8 перекодировать базу в cp1251_general_ci

Очень ЧАЙНИК
Проблема в следующем (может в 400 раз повторяю) мне не лень искать но подобного не нашел.
Была создана база в utf-8 и естественно все таблицы и содержание тоже самое в utf-8, оказалось что кирриллица и приходящая из php и создавемые в самой базе выглядят в виде ????? знаков вопроса...Как сделать так что б у всех всё было хорошо!!))

2

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

zloyded
1) В какой кодировке должны быть страницы скрипта и что это за скрипт?
2) Покажите вывод следующего SQL запроса:
[mono]SHOW GLOBAL VARIABLES LIKE 'char%';[/mono]
3) Сделайте дамп в phpMyAdmin и покажите структуру любой таблицы и пример того, как выглядит кириллица, если она не читаема.

3

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

Большое спасибо за внимание ...
НО,
2) Покажите вывод следующего SQL запроса:
SHOW GLOBAL VARIABLES LIKE 'char%';

где сделать этот запрос ???

3) Сделайте дамп в phpMyAdmin и покажите структуру любой таблицы и пример того, как выглядит кириллица, если она не читаема
дамп это файл сохраннения??

1.скрипт в кодировке windows-1251 скрипт регистрации пользователей...
Извиняюсь за блондинистые вопросы...

4

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

zloyded
2) SQL выполните в phpMyAdmin, в окне выполнения SQL запроса.
3) Выберите в phpMyAdmin любую таблицу содержащую записи с кириллицей и перейдите на вкладку "Экспорт". Если не отмечать галочку "Сохранить в файл", то все необходимые данные будут выведены в текстовом поле прямо в phpMyAdmin. Либо можно сохранить в файл и открыть его затем текстовым редактором (рекомендую Notepad++).

5

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

Благодарю..завтра с утра обязательно!!!
Буду презнателен Вашему вниманию!!!

6

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

Variable_name     Value
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\mysql-5.1\share\charsets\

2 это по второму пункту

7

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: May 16, 2010 at 09:55 PM
-- Server version: 5.1.40
-- PHP Version: 5.2.12

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `test`
--

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

--
-- Table structure for table `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET latin1 NOT NULL,
  `surname` varchar(50) CHARACTER SET latin1 NOT NULL,
  `model` varchar(50) CHARACTER SET latin1 NOT NULL,
  `number` varchar(12) CHARACTER SET latin1 NOT NULL,
  `phone` varchar(15) CHARACTER SET latin1 NOT NULL,
  `password` varchar(10) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COLLATE=cp1251_ukrainian_ci AUTO_INCREMENT=9 ;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `name`, `surname`, `model`, `number`, `phone`, `password`) VALUES
(1, 'Bogdan', 'Bogdanov', '', 'admin', '0', '123456'),
(2, 'Dmitriy', 'Makarov', '', 'director', '0', '123456'),
(3, 'Chernov', 'Nikolay', 'maseratti', '123456', '0', '123456'),
(8, '?????????', '', '????? ????', '', '', '');


это по 3 пунткту

8

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

zloyded
У всех таблиц необходимо убрать прописанную кодировку latin1.
[mono]CHARACTER SET latin1[/mono]
В этом случае будет использоваться кодировка и сравнение заданные по умолчанию в строке:
[mono]DEFAULT CHARSET=cp1251 COLLATE=cp1251_ukrainian_ci[/mono]

Настройки MySQL сервера полностью подходят для использования кодировки cp1251.

9

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

Если я правильно понял это надо сделать в строке запроса SQL...??
Или же просто в форме OPERATIONS??

10

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

При вводе в SQL код выдал ошибку #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHARACTER SET latin1' at line 1  на команду
CHARACTER SET latin1

11

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

zloyded
Выберите таблицу; перейдите на вкладку "Структура"; нажмите карандаш ("Изменить") рядом с полями имеющими параметр кодировки latin1; из выпадающего списка "Сравнение" выберите нужное сравнение, или обнулите поле, чтобы сравнение выставилось по умолчанию автоматически.

12

Re: Как из utf-8 перекодировать базу в cp1251_general_ci

О ВЕЛИКИЙ!!!!
БЛАГОДАРЮ!! Огромное спасибо... надеюсь это последние мое вопрошание!!! ЭТО ГЕНИАЛЬНЫЙ сайт!!!
Спасибо огромное от всех ЧАЙНИКОВ!!!!