Задавайте вопросы, мы ответим
Вы не зашли.
в php страницах кодировка utf-8, после обращения к базе пишу всегда :
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql база вся на cp1251
настройки my.cnf :
# The following options will be passed to all MySQL clients
[client]
# password = your_password
port = 3306
socket = "F:/Server/mysql/mysql.sock"
default-character-set=cp1251
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port= 3306
socket= "F:/Server/mysql/mysql.sock"
basedir="F:/Server/mysql"
tmpdir="F:/Server/tmp"
datadir="F:/Server/mysql/data"
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-character-set=cp1251
init-connect = "set character set cp1251"
До поры до времени все работало идеально.
сегодня захожу в базу, в ней весь русский текст заменился иероглифами, с английским текстом все в порядке.
страницы сайта как ни странно выводятся на русском.
в чем проблема? заранее спасибо.
Неактивен
Проблема в том, что ваш клиент не понимает в какой кодировке ему передаются данные.
С помощью чего заходите в базу?
Неактивен
MySQL
* Сервер: localhost via TCP/IP
* Версия сервера: 5.1.30-community
* Версия протокола: 10
* Пользователь: root@localhost
* MySQL-кодировка: UTF-8 Unicode (utf8) почему то здесь кодировка стоит utf8, хотя моя база и все таблицы имеют кодировку cp1251
Веб-сервер
* Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
* Версия MySQL-клиента: 5.1.30
* PHP расширение: mysql
phpMyAdmin
* Информация о версии: 3.1.1
Отредактированно fizichello (18.07.2009 01:40:45)
Неактивен
Так у вас иероглифы где вылезают: в клиенте mysql или php админе?
Если последнее, то выполните после подключения
Неактивен
в пхп админе.
уже делал, не помоглло.
Неактивен
Данные у вас хранятся в нормальном виде (это следует из того, что на сайте и в клиенте mysql они отображаются корректно).
phpadmin не правильно понимает в какой кодировке ему приходят данные, поэтому и отображает их кракозябрами. Посмотрите в настройках какую кодировку использует phpadmin или определите её перекодированием кракозябр в нормальный вид, или простым перебором. И сообщите серверу, что хотите получать данные в этой кодировке.
SET NAMES искомая_кодировка;
Обратите внимание, что после NAMES знак '=' отсутствует.
P.S. Вообще phpadmin довольно глючная штука и лучше от него отказаться и ипользовать, например, MySQL GUI Tools
Неактивен