1

Тема: Проблема с кодировкой русских букв

в браузере русские буквы отображаются правильно, а в PMA иероглифами такого вида "??????", уже не знаю , что делать (((
таблица сравнивается с ut8_general_ci, заранее спс
вот дамб таблицы

-- phpMyAdmin SQL Dump
-- version 2.11.5
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Дек 18 2008 г., 16:35
-- Версия сервера: 5.1.29
-- Версия PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

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

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

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

CREATE TABLE IF NOT EXISTS `pages` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `text` text NOT NULL,
  `title` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

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

INSERT INTO `pages` (`id`, `text`, `title`) VALUES
(1, '<p>uaauaa</p>', 'uaaaua'),
(2, '<p>ewre</p>', 'test'),
(3, '<p>???</p>', '??????'),
(4, '<p>?????</p>', '??????'),
(5, '', '?????');

2

Re: Проблема с кодировкой русских букв

character_set_client    latin1
character_set_connection    latin1
character_set_database    latin1
character_set_filesystem    binary
character_set_results    latin1
character_set_server    latin1
character_set_system    utf8
character_sets_dir    D:\Site\SQL\share\charsets\

3

Re: Проблема с кодировкой русских букв

что самое интересное : если данные отправляю через форму фреймворка Codeign

4

Re: Проблема с кодировкой русских букв

kem
phpMyAdmin всегда отображает данные в том виде, как они лежат в MySQL. Вы видите в дампе крякозябы и при импорте они вставляются в таблицы, что phpMyAdmin вам и показывает.

В браузере кириллица появляется потому что кодировка соединения с MySQL у вас latin1 (character_set_connection latin1), значит крякозябы выбираются из БД и выводятся на странице с кодировкой cp1251, где отображаются кириллицей.

Сперва вам следует перекодировать дамп, если он есть и требуется его импорт.
Если дампа нет, то определите какую кодировку будете использовать на сайте и добавьте в конфигурационный файл MySQL (my.ini), раздел [mysqld], строку:

init-connect="SET NAMES cp1251"

Где cp1251 - это используемая кодировка.

5 (изменено: kem, 2008-12-18 21:43:24)

Re: Проблема с кодировкой русских букв

дампа нет, вставил этот код, но опять тоже самое, облазил несколько форумов, но никто не может решить проблему, хз что делать, может поменять character_set_connection , правда как ?

6

Re: Проблема с кодировкой русских букв

kem
Сперва объясните что вам надо.
Если необходимо импортировать дамп с крякозябами вида ??????, то сперва необходимо его перекодировать так, чтобы появилась криллица.
Если вам нужен работоспособный MySQL c кодировкой cp1251, то решение я уже указал выше.
И еще. Вы так и не объяснили в какой кодировке у вас сайт.

7

Re: Проблема с кодировкой русских букв

сайт в кодировке utf-8, а нужно мне, чтоб я вводил с формы сайта и у меня в базе были рус символы, чтоб я мог посылать запрос в БД для сортировки допустим по алфавиту, а так как там иероглифы, он сортирует ясное дело криво

8 (изменено: Hanut, 2008-12-20 01:50:40)

Re: Проблема с кодировкой русских букв

kem
Значит вам подойдет такая строка:

init-connect="SET NAMES utf8"

Также добавьте в разделы [mysql] и [mysqld] такую строку:

default-character-set=utf8

Затем пересоздайте все БД и таблицы, чтобы у них везде была указана кодировка utf8, и сравнение utf8_general_ci.

9

Re: Проблема с кодировкой русских букв

спс, работает )