SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 27.02.2008 13:06:45

Никита
Завсегдатай
Откуда: Тюмень
Зарегистрирован: 15.11.2007
Сообщений: 73

Исправление крдировки

Здравствуйте)Подскажите мне пожалуйста,из-за чего у меня может возникать следующая проблема:все русские буквы у меня выводятся знаками вопроса.В phpMyAdmin у меня стоит кодировка UTF-8 Unicode (utf8),а сравнение cp1251_general_ci.Если это из-за кодировки в phpMyAdmin,то как мне изменить эту кодировку?

Неактивен

 

#2 27.02.2008 13:11:19

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

Re: Исправление крдировки

Неактивен

 

#3 27.02.2008 13:50:49

Никита
Завсегдатай
Откуда: Тюмень
Зарегистрирован: 15.11.2007
Сообщений: 73

Re: Исправление крдировки

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

Неактивен

 

#4 27.02.2008 15:18:35

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

Re: Исправление крдировки

ALTER TABLE table MODIFY column VARCHAR(size) CHARSET charset;

charset - реальная кодировка, в которой находятся Ваши данные в таблице

Неактивен

 

#5 27.02.2008 15:37:06

Никита
Завсегдатай
Откуда: Тюмень
Зарегистрирован: 15.11.2007
Сообщений: 73

Re: Исправление крдировки

Нет.....Мне не помог этот код:ALTER TABLE table MODIFY column VARCHAR(size) CHARSET charset;
До этого я перевел данные в бинарное состояние(VARBINARY) и у меня все знаки начали выводится как надо,но когда я попробовал перевести данные обратно в строковые(VARCHAR),то у меня знаки опять начали выводиться в виде вопросов.Как мне переводить данные обратно в VARCHAR так,чтобы когда они перейдут в строковые данные они выводились правильно?

Неактивен

 

#6 27.02.2008 16:04:32

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

Re: Исправление крдировки

Указать правильно значение charset;
Как Вам уже написал Паулюс "charset - реальная кодировка, в которой находятся Ваши данные в таблице"

Неактивен

 

#7 27.02.2008 16:11:09

Никита
Завсегдатай
Откуда: Тюмень
Зарегистрирован: 15.11.2007
Сообщений: 73

Re: Исправление крдировки

Я так сделал,но у меня все равно все выводится в вопросах

Неактивен

 

#8 27.02.2008 16:20:54

Никита
Завсегдатай
Откуда: Тюмень
Зарегистрирован: 15.11.2007
Сообщений: 73

Re: Исправление крдировки

А если у меня на сайте все будет храниться в VARBINARY и BLOB,то чем это может отличаться от VARCHAR и TEXT?У меня в БД хранятся песни,названия песен,исполнители и информация об исполнителях,какие виды данных мне лучше использовать?

Неактивен

 

#9 27.02.2008 16:23:13

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

Re: Исправление крдировки

Никита написал:

Я так сделал,но у меня все равно все выводится в вопросах

Значит Вы указали не ту кодировку в которой реально хранятся данные в таблице.

Неактивен

 

#10 27.02.2008 16:47:50

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

Re: Исправление крдировки

Никита написал:

А если у меня на сайте все будет храниться в VARBINARY и BLOB,то чем это может отличаться от VARCHAR и TEXT?У меня в БД хранятся песни,названия песен,исполнители и информация об исполнителях,какие виды данных мне лучше использовать?

Для не бинарных строк сортировка происходит в зависимости от их сопоставления (чувствительно к регистру или нет)
Например, aAAaBb ­­-- not case sensitive
                AAaaBb – case sensitive

Для бинарных сортировка по численному значению байтов (AABaab).

Неактивен

 

#11 29.02.2008 18:16:46

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

Re: Исправление крдировки

Как вариант - Ваш клиент может работать в latin1. Конвертация любой кодировки с русскими
буквами в latin1 даст значки вопроса. Достаточно выполнить "SET NAMES желаемая_кодировка",
чтобы получить данные в другой кодировке. На клиенте, разумеется.

Неактивен

 

Board footer

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