Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите! / 9 сообщений из 9, страница 1 из 1
22.07.2013, 23:25
    #38339796
moskov199
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
В общем суть проблемы: имеется сайт с базой данных и кодировкой соответственно: Default character set cp1251; collation cp1251_general_ci; set NAMES utf8. На сайте идет выборка из бд, в результате возвращаются данные с вопросами ( ??). Вот не могу понять в чем причина вроде все тоже самое указал в my.cnf и даже init-connect = 'SET NAMES utf8'. Вот часть настроек из my.cnf:

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
character-set-dir = /usr/share/mysql/charsets
default-character-set = cp1251
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0

[mysqld]
character-set-server=cp1251
collation-server=cp1251_general_ci
init_connect='SET NAMES utf8'
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
Самое интересное что такие же настройки в denwer для windows работают - все отображается правильно, а вот на linux debian 7 под mysql 5.5.31-0+wheezy1 данные в виде: (до этого тоже был косяк в denwere но все решилось установкой init-connect = 'SET NAMES utf8' ), в даннном случае init-connect не работает почему-то. В чем причина? Буду очень благодарен:) Ниже выкладываю полный my.cnf если кому надо...
...
Рейтинг: 0 / 0
23.07.2013, 09:24
    #38339946
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
moskov199,

сам сайт в utf-8 написан надеюсь? если нет, тогда стоит установить set names именно в ту кодировку, в которой отдаётся сайт (обычно соответствует кодировке файлов сайта). Если в windows-1251 (она же CP1251) тогда можно просто set names убрать.
...
Рейтинг: 0 / 0
23.07.2013, 10:51
    #38340087
moskov199
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
Програмёр, нет кодировка сайта в windows-1251(cp1251). Да пробовал я без init-connect все равно то же самое(
...
Рейтинг: 0 / 0
23.07.2013, 11:04
    #38340109
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
moskov199кодировка сайта в windows-1251(cp1251)Ох, намудрили... Сразу после установления коннекта делаете запрос "SET NAMES cp1251" из скрипта. Все остальное, касающееся кодировки, из конфига можно убрать (если только присутствие оного не продиктовано какими-то другими причинами). Обратите внимание так же на кодировку дампа при заливке и на дефолтовые кодировки таблиц.
...
Рейтинг: 0 / 0
23.07.2013, 11:11
    #38340118
moskov199
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
vklemoskov199кодировка сайта в windows-1251(cp1251)Ох, намудрили... Сразу после установления коннекта делаете запрос "SET NAMES cp1251" из скрипта. Все остальное, касающееся кодировки, из конфига можно убрать (если только присутствие оного не продиктовано какими-то другими причинами). Обратите внимание так же на кодировку дампа при заливке и на дефолтовые кодировки таблиц.
И что мне в каждом запросе нужно прописывать SET NAMES cp1251? Так для этого же служит дирректива init-connect, которая успешно работала в denwer) .Есть ли какой-нибудь другой способ чтобы не использовать SET NAMES в скрипте?
...
Рейтинг: 0 / 0
23.07.2013, 11:30
    #38340145
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
moskov199И что мне в каждом запросе нужно прописывать SET NAMES cp1251?А у Вас на каждый запрос инициируется новый коннект к серверу баз данных? ;-) Ну, если так, то да. Обычно же инициируют подключение единажды, где-то в начале скрипта. Кстати, использовать инклюд для включения повторяющихся фрагментов кода до сих пор не возбраняется.

moskov199Есть ли какой-нибудь другой способ чтобы не использовать SET NAMES в скрипте?Да, если только вы не планируете выкладывать сайт на шаред-хостинг. В противном случае грабли гарантированы, ибо конкретно под Ваш сайт никто не будет настраивать сервер.
...
Рейтинг: 0 / 0
23.07.2013, 11:58
    #38340194
moskov199
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
vkleА у Вас на каждый запрос инициируется новый коннект к серверу баз данных? ;-)
Нет)), действительно стало работать заданием SET NAMES cp1251 в скрипте)). Почему вот init_connect не работает я не выяснил. Спасибо тебе огромное vkle))))))).
...
Рейтинг: 0 / 0
24.07.2013, 03:01
    #38341530
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
moskov199Почему вот init_connect не работает я не выяснил.С этим не подскажу. Если очень интересно, задайте вопрос в профильном форуме по MySQL или попросите модератора перенести туда этот топик.


moskov199СпасибоНе за что :-)
...
Рейтинг: 0 / 0
25.07.2013, 11:27
    #38343373
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите!
moskov199vkleА у Вас на каждый запрос инициируется новый коннект к серверу баз данных? ;-)
Нет)), действительно стало работать заданием SET NAMES cp1251 в скрипте)). Почему вот init_connect не работает я не выяснил. Спасибо тебе огромное vkle))))))).
Обычно init-connect не работает если подключение идет от root. Потому что mysql не выдерживает такого позора.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / проблема с кодировкой в mysql 5.5.31-0+wheezy1. Господа помогите! / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]