Страница 1 из 1

Проблема с русским текстом в MySQL

Добавлено: 22 апр 2007, 22:40
Вадим Пишков
Apache 1.3.27
PHP 4.3.0
MySQL 3.23.53

phpMyAdmin - 2.9.2

Все, кроме phpMyAdmin поставлено с джентльменского набора web-разработчика Денвер-2 ([url]http://web.dklab.ru)[/url].

Проблема такая:
есть БД, в ней таблица sections. В таблице sections поля varchar. Введенные через phpMyAdmin русские значения для этих полей в том же phpMyAdmin'е смотрятся нормально. При попытке затащить их в программу при помощи следующего кода:

Код: Выделить всё

		$query = "SELECT * FROM sections";
		$result = mysql_query($query);

		while ( $section_arr = mysql_fetch_row($result) ) {
			list($id, $name, $title) = $section_arr;
			print $id."|".$name."|".$title."
";
		};
Поля, значения в которые введены русскими буквами, выводятся в виде: календарь.

В my.cnf есть строчка: default-character-set=cp1251
На запрос

Код: Выделить всё

 		print mysql_client_encoding (); 
программа выводит latin.

Что делать?
Очень рассчитываю на вашу помощь!

Re: Проблема с русским текстом в MySQL

Добавлено: 23 апр 2007, 01:18
PhpRu
Ну решение в общем случае
Если вы логинитесь к базе как root?njulf сразу после коннекта к базе перед любыми запросами на выбрку нужно прописать
mysql_query("SET NAMES cp1251");
для не-root пользователей прописана директива
init-connect="SET NAMES cp1251" в /usr/local/mysql4/my.cnf

Re: Проблема с русским текстом в MySQL

Добавлено: 27 апр 2007, 11:50
isms.ru
пхпмайадмин настроен на другую кодировку. например на отображение в юникоде, т.е. он и пишет и показывает в юникоде, т.е. правильно, а по пытается в вин1251 вытащить и облом.
а также поставь принудительно для таких полей кодировку. тьфу, для 3 версии это не ставится.

Re: Проблема с русским текстом в MySQL

Добавлено: 09 май 2007, 18:08
Вадим Пишков
Спасибо, ребят.
Обновил БД, php и все заработало.