Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252) / 8 сообщений из 8, страница 1 из 1
08.05.2015, 09:50:23
    #38954235
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
Первоначально проблема возникла на странице PHP.
Перечитал десятки ответов на разных форумах, по результатам проверки сделал следующее.

Чтобы исключить влияние моих кривых рук сделал экспорт данных в SQL-запрос

Получилось такой текст. Не делаю форматирование, потому что пропадает оригинальная кодировка.
(Проверено в тесте - 17616353 )

===============================
--
-- Скрипт сгенерирован Devart dbForge Studio for MySQL, Версия 6.3.341.0
-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/mysql/studio
-- Дата скрипта: 08.05.2015 9:09:05
-- Версия сервера: 5.5.23
-- Версия клиента: 4.1
--
SET NAMES 'utf8';
INSERT INTO monument.items(ItemId, Caption, Map, Dir, Title, Item) VALUES
(2, 'Õóäîæíèê Þíòèíåí', NULL, 'yuntunen', 'Ïàìÿòíàÿ äîñêà â ÷åñòü íàðîäíîãî õóäîæíèêà ÑÑÑÐ Ñóëî Þíòåíåíà', 'barelef_yuntunen');
===============================

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE DATABASE `monument` /*!40100 DEFAULT CHARACTER SET utf8Тут было Latin1*/
CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET utf8 */


CREATE TABLE `items` (
  `ItemId` int(11) NOT NULL AUTO_INCREMENT,
  `Caption` varchar(255) DEFAULT NULL,
  `Map` varchar(255) DEFAULT NULL,
  `Dir` varchar(64) DEFAULT NULL,
  `Title` varchar(255) DEFAULT NULL,
  `Item` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`ItemId`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8



Фрагмент файла my.ini

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
[client]

port=3306
 #Этой строки не было 
default-character-set=utf8 

[mysql]
 #Тут было Latin1 
default-character-set=utf8


# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.
#
[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306


#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"

#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

# The default character set that will be used when a new schema or table is
# created and no character set is defined 
 #Тут было Latin1 
character-set-server=utf8
...
Рейтинг: 0 / 0
08.05.2015, 09:51:29
    #38954236
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
Cat2
Код: sql
1.
2.
CREATE DATABASE `monument` /*!40100 DEFAULT CHARACTER SET utf8Тут было Latin1*/
CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET utf8 */



Наоборот

CREATE DATABASE `monument` /*!40100 DEFAULT CHARACTER SET utf8*/
CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET utf8 >>>Тут было Latin1<<<*/
...
Рейтинг: 0 / 0
08.05.2015, 10:15:58
    #38954270
sparrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
ты что абалдел, сюда листинги постить.
...
Рейтинг: 0 / 0
08.05.2015, 10:16:58
    #38954273
sparrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
на какой платформе сервер?
...
Рейтинг: 0 / 0
08.05.2015, 10:19:57
    #38954277
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
sparrowна какой платформе сервер?
Windows, но это не важно уже

Все разобрался. Не обратил внимания, что после изменений в my.ini данные в исходной таблице в студии стали в кодировке Latin1. Все нормально и при экспорте и на пхп-странице.

Как хорошо что есть форум! Пр написании вопроса внимательнее следишь за тем, что делаешь!
...
Рейтинг: 0 / 0
08.05.2015, 10:23:09
    #38954283
sparrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
то то же
...
Рейтинг: 0 / 0
08.05.2015, 10:29:06
    #38954289
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
Cat2INSERT INTO monument.items(ItemId, Caption, Map, Dir, Title, Item) VALUES
(2, 'Õóäîæíèê Þíòèíåí', NULL, 'yuntunen', 'Ïàìÿòíàÿ äîñêà â ÷åñòü íàðîäíîãî õóäîæíèêà ÑÑÑÐ Ñóëî Þíòåíåíà', 'barelef_yuntunen'); http://www.artlebedev.ru/tools/decoder/ Художник Юнтинен

Как нам пришлось помучиться
CP1252 → CP1251Что покажет
Код: sql
1.
2.
3.
4.
select itemid
 ,convert(convert(caption using 'binary') using 'cp1251') as qwe
from items
limit 1

?
...
Рейтинг: 0 / 0
08.05.2015, 10:32:22
    #38954293
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252)
tanglirCat2INSERT INTO monument.items(ItemId, Caption, Map, Dir, Title, Item) VALUES
(2, 'Õóäîæíèê Þíòèíåí', NULL, 'yuntunen', 'Ïàìÿòíàÿ äîñêà â ÷åñòü íàðîäíîãî õóäîæíèêà ÑÑÑÐ Ñóëî Þíòåíåíà', 'barelef_yuntunen'); http://www.artlebedev.ru/tools/decoder/ Художник Юнтинен

Как нам пришлось помучиться
CP1252 → CP1251Что покажет
Код: sql
1.
2.
3.
4.
select itemid
 ,convert(convert(caption using 'binary') using 'cp1251') as qwe
from items
limit 1


?
Cat2Не обратил внимания, что после изменений в my.ini данные в исходной таблице в студии стали в кодировке Latin1. Все нормально и при экспорте и на пхп-странице.

Я же сам MySQL первый раз домашний комп ставил, вот и ошибся где-то при установке, а может установщик какой-то кривой скачал. И вообще с ним первый раз работаю - разовая задача
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка кодировки. UTF-8 выводится как Latin1 (windows-1252) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]