SQLinfo.ru - Все о MySQL PG day 17

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#26 06.08.2009 14:00:39

Lily
Участник
Зарегистрирован: 06.08.2009
Сообщений: 3

Re: Проблема кодировки (вместо кириллицы ???)

спасибочки, сейчас попробую

Неактивен

 

#27 17.07.2010 23:06:05

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Проблема кодировки (вместо кириллицы ???)

Всем здрасьте!
Поднимаю тему.
Имеется такой вопрос. Какая кодировка в MySQL используется по умолчанию? И, главное, как с помощью скрипта (файл .sql) вставить записи, содержащие кириллицу?

Отредактированно bRUtality (19.07.2010 10:41:11)

Неактивен

 

#28 19.07.2010 11:05:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6601

Re: Проблема кодировки (вместо кириллицы ???)

Кошмар, зачем поднимать годовалую тему? smile

http://sqlinfo.ru/articles/info/2.html

Неактивен

 

#29 19.07.2010 23:37:36

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Проблема кодировки (вместо кириллицы ???)

paulus написал:

Кошмар, зачем поднимать годовалую тему? smile

http://sqlinfo.ru/articles/info/2.html

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

Руководствуясь статьей, я сделал так:
1) Создал таблицу, использующую кодировку utf8
2) Создал файл .sql с кучей инсертов, вставлять нужно в том числе и записи на кириллице
3) Первой командой в .sql файле поставил SET NAMES UTF8
При попытке прогнать скрипт, MySQL вываливает ошибку "слишком большие данные для поля такого-то" (для тех полей, где нужно вставить кириллицу).

Подскажите, пожалуйста, где я ошибся?

Неактивен

 

#30 20.07.2010 10:45:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6601

Re: Проблема кодировки (вместо кириллицы ???)

Чтобы были практические рекомендации, нужно какую-то конкретику в проблеме.
«Слишком большие данные» (вольный перевод?) у меня ассоциируется только с
тем, что данные не влезли в колонку — сделайте колонку больше.

Я не придираюсь, правда. Сделайте несколько простых запросов, попробуйте, всё
получится.

Неактивен

 

#31 20.07.2010 11:21:01

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Проблема кодировки (вместо кириллицы ???)

paulus написал:

Чтобы были практические рекомендации, нужно какую-то конкретику в проблеме.
«Слишком большие данные» (вольный перевод?) у меня ассоциируется только с
тем, что данные не влезли в колонку — сделайте колонку больше.

Я не придираюсь, правда. Сделайте несколько простых запросов, попробуйте, всё
получится.

Да, это я так перевел:) В оригинале так: "Data too long for column 'adv_name' at row 1". Здесь adv_name - поле varchar(100), пытаюсь записать один русский символ.
Конкретика проблемы заключается в следующем: нужно записать в поле varchar кириллицу, любым способом, только бы записались не крякозябры. Перепробовал все что знал, ничего не получаетсяsad
Какие простые запросы вы имеете ввиду?

Неактивен

 

#32 20.07.2010 11:25:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6601

Re: Проблема кодировки (вместо кириллицы ???)

Код:

[celestia] root test > SET NAMES utf8;
Query OK, 0 rows affected (0.00 sec)

[celestia] root test > CREATE TABLE rustest (a VARCHAR(100)) CHARSET utf8;
Query OK, 0 rows affected (0.22 sec)

[celestia] root test > INSERT INTO rustest VALUES ('один символ по-русски');
Query OK, 1 row affected (0.00 sec)

[celestia] root test > SELECT * FROM rustest;
+-----------------------------------------+
| a                                       |
+-----------------------------------------+
| один символ по-русски                   |
+-----------------------------------------+
1 row in set (0.00 sec)

В консоли у меня тоже utf8, разумеется. Иначе правильно делать SET NAMES в кодировку
консоли (ну или в кодировку, в которой потом будут русские буквы).

Неактивен

 

#33 20.07.2010 11:47:20

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Проблема кодировки (вместо кириллицы ???)

Премного благодарен. Кажется, я понял, где облажалсяsmile - не сменил кодировку консоли на utf8.
(извинете за офф, но как в консоле виндовс менять кодировку?)
А если я хочу сделать запись в таблицу скриптом (батник запускает .sql файл с инсертами), скрипт тоже следует писать в кодировке utf8?

Неактивен

 

#34 20.07.2010 11:59:39

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6601

Re: Проблема кодировки (вместо кириллицы ???)

Есть подозрение, что в батнике все равно не будет ни одного русского символа wink
Но, разумеется, не важно, в какой кодировке он будет — важны лишь те после-
довательности байт, которые скармливаются в mysql.

Да, в windows кодировка меняется через chcp 65001.

Неактивен

 

#35 20.07.2010 12:10:50

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Проблема кодировки (вместо кириллицы ???)

paulus написал:

Есть подозрение, что в батнике все равно не будет ни одного русского символа wink
Но, разумеется, не важно, в какой кодировке он будет — важны лишь те после-
довательности байт, которые скармливаются в mysql.

Да, в windows кодировка меняется через chcp 65001.

sad
Т.е. проблема неразрешима и мне придется все данные ручками набивать? о_О

Неактивен

 

#36 20.07.2010 12:16:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6601

Re: Проблема кодировки (вместо кириллицы ???)

То есть? Просто делаете sql-файл в UTF8 и скармливаете в mysql. В чем проблема?

Неактивен

 

#37 20.07.2010 22:38:50

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Проблема кодировки (вместо кириллицы ???)

paulus написал:

То есть? Просто делаете sql-файл в UTF8 и скармливаете в mysql. В чем проблема?

Все получилось. Спасибо большое!

Неактивен

 

#38 09.08.2010 16:12:38

Рустик
Участник
Зарегистрирован: 09.08.2010
Сообщений: 2

Re: Проблема кодировки (вместо кириллицы ???)

Помогите буду благодарен. на сервере делаю вывод из базы данных а там ???. а на локальном все пашет нормально. кодировка везде cp1251_general_ci. кодировка сайта на cp1251_general_ci, и все таблицы в локальном и сервере cp1251_general_ci. импорт на сервер делал тоже с кодировкой cp1251_general_ci. Я как бы немного новичек... символы на английском языке отображаються нормально.  все сообщения читал. mysql_query("SET NAMES CP1251"); тоже не помогло

Неактивен

 

#39 09.08.2010 16:26:53

Рустик
Участник
Зарегистрирован: 09.08.2010
Сообщений: 2

Re: Проблема кодировки (вместо кириллицы ???)

вот мля........................ а нет ("SET NAMES CP1251"); это помогло файлы забыл обновить на сервере после того как поменял

Неактивен

 

#40 15.11.2010 11:03:19

SanyokMedved
Участник
Зарегистрирован: 15.11.2010
Сообщений: 1

Re: Проблема кодировки (вместо кириллицы ???)

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

П.С. сайт на удаленном сервере. zhivchik[dot]ua

спасибо за помощь

Неактивен

 

#41 15.11.2010 14:04:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6601

Re: Проблема кодировки (вместо кириллицы ???)

Скорее всего, сервер не посылает кодировку браузеру, а браузер не может угадать
ее. Просто добавьте явное указание кодировки в текст страницы (а еще лучше —
в заголовок http).

К MySQL вопрос отношения не имеет smile

Неактивен

 

#42 18.05.2011 22:59:11

Valeri
Участник
Зарегистрирован: 18.05.2011
Сообщений: 1

Re: Проблема кодировки (вместо кириллицы ???)

Уважаемые Гуру. помогите разобраться.
Проблема с записью в БД и последующим отображением кирилицы.
Изначально стояла кодировка latin1 и вместо кирилицы я получал Òåñòîâûé ñàéò, потом я изменил в редакторе во всех таблица кодировку latin1 на cp1251  проблема не решилась, вместо Тестовый сайт это - Òåñòîâûé ñàéò.
Решил добавит в корень сайта файл .htaccess вот с этим:

CharsetDisable On
CharsetDefault UTF-8
CharsetSourceEnc UTF-8

Не помогло.

Посмотрел тему и сделал изменения в конект файлах по рекомендациям, в итоге получил ошибку Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/u37411/seronaru/test/lib/lib_database.php on line 7

Файл подключения к базе выглядит так:
<?php
DEFINE('DB_DETAILS', true);
DEFINE('DB_HOST', "XXXXXXXXXX");
DEFINE('DB_USER', "XXXXXXXX");
DEFINE('DB_PASS', "XXXXXXXXXX");
DEFINE('DB_NAME', "XXXXXXXXX");
?>

после подключения mysql_query("SET NAMES cp1251"); выдаёт вышеуказанную ошибку и естественно не записываетв базу правильно кирилицу.
Мне кажется, что для такой структуры подключения к БД этот запрос mysql_query("SET NAMES cp1251") не подходит.
Выручайте, что можно сделать. Помогите пожалуйста.

Отредактированно Valeri (18.05.2011 23:00:27)

Неактивен

 

#43 19.05.2011 03:10:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6601

Re: Проблема кодировки (вместо кириллицы ???)

Начните со статьи?

Неактивен

 

#44 20.04.2017 21:44:21

bbiko
Участник
Зарегистрирован: 20.04.2017
Сообщений: 7

Re: Проблема кодировки (вместо кириллицы ???)

Здравствуйте. у меня тоже такая проблема. сайт создан на денвере 3, все данные которые выбираются запросом из базы mysql кириллица ???????.
но после вставки кода начале <?PHP  header("Content-Type: text/html; charset=utf-8");?>  на локальном сервере все нормализовалось.
а на виртуальном хостинге нет
на денвере тип базы было inobd на сервере myisam latin shveden .  пересоздала дамп на myisam залили на хостингг в utf-8 general ci все равно кириллица не отображается дамп в блокноте просматривается а вблокнот++ в режиме 1251 вопросительные знаки.  в утф-8 норма не знаю что делать.
на локальном все нормально

на сервере
Тип сервера: MySQL
Версия сервера: 5.1.73 - Source distribution
Версия протокола: 10
Пользователь: ++++
Кодировка сервера: UTF-8 Unicode (utf8)


на локальном

Программа: MySQL
Версия программы: 5.5.25 - MySQL Community Server (GPL)
Версия протокола: 10
Пользователь: root@localhost
Кодировка сервера: UTF-8 Unicode (utf8)

Неактивен

 

#45 20.04.2017 21:55:00

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5156

Re: Проблема кодировки (вместо кириллицы ???)

Неактивен

 

#46 21.04.2017 18:57:17

bbiko
Участник
Зарегистрирован: 20.04.2017
Сообщений: 7

Re: Проблема кодировки (вместо кириллицы ???)

пробовала не получается никак

Неактивен

 

#47 21.04.2017 19:01:31

bbiko
Участник
Зарегистрирован: 20.04.2017
Сообщений: 7

Re: Проблема кодировки (вместо кириллицы ???)

скрины

Неактивен

 

#48 21.04.2017 19:03:25

bbiko
Участник
Зарегистрирован: 20.04.2017
Сообщений: 7

Re: Проблема кодировки (вместо кириллицы ???)

1


Прикрепленные файлы:
Attachment Icon idhost.GIF, Размер: 106,780 байт, Скачано: 11

Неактивен

 

#49 21.04.2017 19:04:00

bbiko
Участник
Зарегистрирован: 20.04.2017
Сообщений: 7

Re: Проблема кодировки (вместо кириллицы ???)

2


Прикрепленные файлы:
Attachment Icon idhost2.GIF, Размер: 97,675 байт, Скачано: 9

Неактивен

 

#50 21.04.2017 19:07:53

bbiko
Участник
Зарегистрирован: 20.04.2017
Сообщений: 7

Re: Проблема кодировки (вместо кириллицы ???)

может это поможеть
-- phpMyAdmin SQL Dump
-- version 4.0.9
-- http://www.phpmyadmin.net
--
-- Хост: 10.8.204.167
-- Время создания: Апр 21 2017 г., 16:38
-- Версия сервера: 5.1.73
-- Версия PHP: 5.3.3

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!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 utf8 */;

--
-- База данных: `db1152149_muz`
--

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

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

CREATE TABLE IF NOT EXISTS `kaidan_keldi` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `aty` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

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

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson