IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Проблема с кодировками в MySQL (https://www.imho.ws/showthread.php?t=93041)

N1ck0l@y 23.09.2005 09:21

Проблема с кодировками в MySQL
 
Связка:
mysql-4.1.12-win32
php-5.0.5-Win32
apache_2.0.54-win32
phpMyAdmin-2.6.4-pl1
mysql-administrator-1.1.2-win
интернет-магазин: Shop Script Free
ОС: Windows XP SP2
тестю на localhost:80
Проблема: При загрузке интернет магазина, каталог товаров и сами товары - русские символы (т.е данные которые берутся из БД в MySQL) отображаются как "???????", остальное все - нормально (в т.ч. и английские символы).
Настройки Apache (httpd.conf):
AddDefaultCharset Windows-1251
Настройки PHP (php.ini)
; default_charset = "iso-8859-1" - закоментировано !!!
Настройки MySQL (my.ini)
[client]
default-character-set=cp1251
[mysqld]
default-character-set=cp1251
default-storage-engine=INNODB

Команда mysql>status дала:
Server Characterset cp1251
DB characterset cp1251
client characterset latin 1
conn. characterset latin1

PHPMyAdmin показывает:
Variable Session value Global value
character set client utf8 cp1251
character set connection cp1251 cp1251
character set database cp1251 cp1251
character set results utf8 cp1251
character set server cp1251 cp1251
character set system utf8 utf8 ...
//почему session value отличается от global value ??//
базу данных shop_data подключал стандартную по умолчанию в Shop Script с примерами каталогов и товаров. Английские символы отображаются, нормально. При забивке новых наименований товаров, русские символы снова отображаются как "?????". Тех поддержка скрипта интернет-магазина посоветовала "Для решения этой проблемы попробуйте выставить через phpMyAdmin кодировку windows-1251."
Но где? Я поменял кодировку для таблиц в БД в MySQLAdministrator'е с koi8-r на cp1281, в My SQL (настраивал с помощью MySQLInstanceConfig)
стоит кодировка по умолчанию - cp1281, но почему mySQL>status показывает одно, phpmyadmin - другое, а настройки в my.ini - вообще другие? На главн. стр. PhpMy Admin показывает:
MySQL charset: UTF-8 Unicode (utf8) //почему, ведь я в Мускуле ставил кодировку по умолчанию - cp1281 ??? //
MySQL connection collation cp1251 general_ci - //это уже я выставил, было utf8_general_ci//

Помогите, кто сталкивался с такой проблемой, дельными советами, и по подробнее, а то я в этом деле новичок, апаче+мускуль+пхп недавно начал изучать...

Тема http://www.imho.ws/showthread.php?t=62430&page=1 - так и не решила подобной проблемы.. :(

RaZEr 23.09.2005 13:17

Сам пхпмайадмин видит русские буквы?

N1ck0l@y 23.09.2005 13:41

Цитата:

Сообщение от RaZEr
Сам пхпмайадмин видит русские буквы?

Нет, в Базе также показывает русские записи, как "???????" :(

RaZEr 23.09.2005 14:24

Возможно данные уже испорчены. Думаю здесь проще всего их удалить, настроить все кодировки и потом уже загрузить дамп ещё раз.

Naked 23.09.2005 20:01

а если попробовать создать новую таблицу и в нее русские записи запихнуть, то будет видеть, или это только для определенной таблицы?

Dem80 26.09.2005 13:50

такая же байда была. Причем даже русские символы не заносились в базу. т.е. пишу например "dfgdfgппрвыаи12321jfgkd", то записывается только первыа часть, до первой русской буквы ""dfgdfg".
Чего только с базой не делал, помогло только полное удаление мускула(как через унистал, так и руками) и новая установка вчистую.

xmaker 26.09.2005 15:11

Подскажите как настроить отбражение русского в Mysql 4.1 через браузер русский идет нормально а вот если залезть в phpmyadmin то там все русские данные в таблицах неотображаются по русски.

Кодировка стоит utf8 как ее поменять на cp1251?

N1ck0l@y 27.09.2005 08:26

Цитата:

Сообщение от The_naked
а если попробовать создать новую таблицу и в нее русские записи запихнуть, то будет видеть, или это только для определенной таблицы?

Когда создаешь таблицу в кодировке latin1 на странице интернет-магазина каталог товаров отображается нормально, а в PHPMYAdmin всякая несуразица вместо наименований товаров. Теперь как я понял мне надо изменить кодировку в MySQL client characterset на cp1251, и conn. characterset на cp1251, и создать таблицу в кодировке cp1251.
Тоько я не знаю как изменить кодировку client characterset и conn. characterset в MySQL (Команда mysql>status), только я не знаю как это сделать, подскажите кто знает.

N1ck0l@y 28.09.2005 09:07

Так что никто не подскажет как поменять кодировку
client characterset и conn. characterset на cp1251 в MYSQL ??????????
А то команда mysql>status выводит

Server Characterset cp1251
DB characterset cp1251
client characterset latin 1
conn. characterset latin1

Когда делаю set character set cp1251, то значения client characterset и conn. characterset меняются на cp1251, но после выхода обратно становится по умолчанию на latin1 почему-то :(

Мои настройки:
в my.ini: default-character-set=cp1251
в httpd.conf: AddDefaultCharset=win1251

Помогите, пожалуйтста, кто знает !!!


Часовой пояс GMT +4, время: 03:10.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.