LINUXPORTAL.RU  |   Живое общение LinuxPortal.Ru   |    Ленты событий        |   ФОРУМЫ  |   БИБЛИОТЕКА  |   ССЫЛКИ  |   НОВОСТИ  |   БЛОГИ АДМИНОВ

Участники   Поиск   F.A.Q.    Регистрация    Вход   Начало
Начало » Для администраторов и программистов » Серверные программы » CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы!
Показать: Сегодняшние сообщения  :: Показать голосования :: Навигатор по сообщениям
Отправить по e-mail 
Переключение в режим просмотра в виде древовидного списка сообщений и ответов Создать новую тему Отправить ответ
CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Сбт, 06 Март 2010 08:11 Переход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
Добрый день! Мне как системному администратору поставили задачу бесплатно собирать логи со всех Windows XP машин (10 штук) и сервера Win2003SP1. Наладил такую вещь:

1) Microsoft Virtual Server 2005 R2 SP1, на нем крутится Cent OS 5.4 с демоном RSyslog, базой MySQL 5.x и системой phplogcon 2.8.0, которая из базы печатает в веб-интерфейс.
2) На клиентах ставится бесплатная утилита Snare, которая через 514 порт связывается с логирующим демоном rsyslog и передает ему логи.

Все нормально, но... невозможно читать русскоязычные логи. Причем в линуксе настроил и локаль на cp1251, и Апач на cp1251, и в базе кодировки настроил. Если дать запрос SELECT в базу из командной строки mysql-сервера, русские буквы нормальные. Если зайти тем же WebMin-веб-интерфейсом в базу MySQL на линуксной виртуалке, и там нормальные русские буквы. А когда читаешь то, что выводит phplogcon, там сплошные крякозебрики вместо русских букв. Не вопросительные знаки, а именно крязозябрики - то есть он имеет кодовую таблицу под эти коды, но неверно их воспринимает.

Где можно подкрутить какие конфиги? Подскажите пожалуйста, уже неделю мучаюсь с этой кодировкой!

P.S. В браузере стоит Windows-1251 кодировка, а переключение на другие не помогает никак.
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Сбт, 06 Март 2010 23:38 Переход к предыдущему сообщенияПереход к следующему сообщения
San АНДРЕЕВ в настоящее время не в онлайне San АНДРЕЕВ  RUSSIAN FEDERATION
Сообщений: 8446
Зарегистрирован: Июнь 2002
Географическое положение: Санкт-Петербу...

administrator · partner

У меня так:
[client]
...
default-character-set = cp1251
...
[mysqld]
...
init-connect="SET NAMES cp1251"
default-character-set = cp1251
character-set-client = cp1251
character-set-server = cp1251
collation-server=cp1251_general_ci
...

Признаться честно, не пытался вникнуть, какая из опций однозначно решает проблему, думаю, init-connect. Остальное просто копипастил с чужих советов на форумах. Если вам будет не лень разобраться и будут время и желание отписать про результат здесь - буду признателен.
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Сбт, 06 Март 2010 23:47 Переход к предыдущему сообщенияПереход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
Эх, да всё это уже давно прописано - и кстати, помогло первый шаг сделать - чтобы хоть из самой базы через командную строку нормально отображалось. А вот в веб-интерфейсе ну никак! Причем и в апаче httpd.conf прописал cp1251, и в php.ini прописал, и всё равно крякозябрики.
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Вск, 07 Март 2010 00:21 Переход к предыдущему сообщенияПереход к следующему сообщения
San АНДРЕЕВ в настоящее время не в онлайне San АНДРЕЕВ  RUSSIAN FEDERATION
Сообщений: 8446
Зарегистрирован: Июнь 2002
Географическое положение: Санкт-Петербу...

administrator · partner

Традиционный дурацкий вопрос: перезапускать серверные программы после изменений конфигов не забывали? :)
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Вск, 07 Март 2010 08:12 Переход к предыдущему сообщенияПереход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
Нет конечно!
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Вск, 07 Март 2010 23:48 Переход к предыдущему сообщенияПереход к следующему сообщения
San АНДРЕЕВ в настоящее время не в онлайне San АНДРЕЕВ  RUSSIAN FEDERATION
Сообщений: 8446
Зарегистрирован: Июнь 2002
Географическое положение: Санкт-Петербу...

administrator · partner

А если посмотреть и сравнить HTML-код, выдаваемый webmin и phplogcon в пределах секции title, особенно в отношении чего-то вроде

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">

?
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Срд, 10 Март 2010 07:23 Переход к предыдущему сообщенияПереход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
Хм, если смотреть в браузере "Source codes", то там вообще не будет такой секции, даже если в файл, из которого phpLogCON строит заголовок include_header.html добавить вот это:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">

И в WebMin тоже нет такого заголовка, если смотреть код страницы в браузере. Но он тем не менее русские буквы отображает!
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Срд, 10 Март 2010 07:37 Переход к предыдущему сообщенияПереход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
А нет, извините, ошибся, есть заголовок с Windows-1251. А всё равно крякозябры. Где настраиваются шрифты в phplogcon? Ведь уже облазил, и не могу найти
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Срд, 10 Март 2010 07:58 Переход к предыдущему сообщенияПереход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
Нет, шрифты не виноваты! Если по русски задать в конфигурационных файлах phplogcon русский заголовок меню, прокатывает на ура. Я думаю, где-то неправильный запрос к БД MySQL осуществляется (сама база вся в cp1251, и захожу в неё вовсе не root пользователем).
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Срд, 10 Март 2010 08:52 Переход к предыдущему сообщенияПереход к следующему сообщения
San АНДРЕЕВ в настоящее время не в онлайне San АНДРЕЕВ  RUSSIAN FEDERATION
Сообщений: 8446
Зарегистрирован: Июнь 2002
Географическое положение: Санкт-Петербу...

administrator · partner

Ну тогда видимо придётся отлаживать phplogcon, особенно в районе подключения к БД. Возможно, там где-то закардкоден какой-то запрос вроде "SET NAMES <кодировка>" с какой-то не той кодировкой. Либо каждый результат из БД зачем-то переводится в другую кодировку.
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Срд, 10 Март 2010 09:01 Переход к предыдущему сообщенияПереход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
Я нашел место, где идет подключение к БД, даю запрос на установку cp1251, вообще ноль реакции...

А как перевести в UTF-8 получаемый запрос, не меняя свойства самой БД? Вдруг поможет?
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Срд, 10 Март 2010 09:08 Переход к предыдущему сообщенияПереход к следующему сообщения
San АНДРЕЕВ в настоящее время не в онлайне San АНДРЕЕВ  RUSSIAN FEDERATION
Сообщений: 8446
Зарегистрирован: Июнь 2002
Географическое положение: Санкт-Петербу...

administrator · partner

Вы имеете в виду перекодировку ответа? В php есть функция iconv(), можно с её помощью - http://ru.php.net/manual/en/function.iconv.php
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Срд, 10 Март 2010 09:28 Переход к предыдущему сообщенияПереход к следующему сообщения
RAdmin в настоящее время не в онлайне RAdmin  RUSSIAN FEDERATION
Сообщений: 8
Зарегистрирован: Март 2010
Географическое положение: Москва
Частый Гость
Да, ответа. Однако я похоже, пока еще не нашел, где коннектится к базе данных, ибо переименовал этот файл с .php-кодом, и ничего не изменилось - то есть это какой-то не тот файл.
Re: CentOS 5.4+mysql+rsyslog+phplogcon - не печатает русские буквы! Птн, 09 Апрель 2010 16:48 Переход к предыдущему сообщения
QWERTY в настоящее время не в онлайне QWERTY  RUSSIAN FEDERATION
Сообщений: 6
Зарегистрирован: Июль 2004
Частый Гость
Актуальная проблема :)
Решается так:

в файле самого phplogcon
Цитата:

/include/functions_common.php

строку
Цитата:

return htmlentities($myStr);

заменить на
Цитата:


return htmlentities($myStr, ENT_COMPAT, "cp1251");


  Переключение в режим просмотра в виде древовидного списка сообщений и ответов Создать новую тему Отправить ответ
Предыдущая тема:Права на папку в pure-ftpd
Следующая тема:xen создание раздела в raw
Переход к форуму:
  

-=] Вернуться вверх [=-
[ Сформировать XML ] [ RSS ]

Текущее время: Сбт Июл 31 17:57:05 MSD 2010
.:: Обратная связь :: Начало ::.

При поддержке: FUDforum 3.0.0.
Copyright © 2001-2009 FUDforum Bulletin Board Software

©"Linuxportal.Ru". Материалы сайта можно использовать свободно при условии сохранения этой свободы при дальнейшем распространении, если явно не указано иное.

Дизайн и программирование: ,
Поставьте нашу кнопку: Linux Portal.ru ::: Линукс Портал.ру