Ayola.net

Форумы поддержки хостинга => Технические вопросы => Тема начата: gamal от Январь 29, 2008, 03:42:20



Название: Кодировка в БД
Отправлено: gamal от Январь 29, 2008, 03:42:20
Здраствуйте, возникла проблемка прошу помочь тех кто сталкивался или знает как решить эту проблему, а то  уже неудобно как то Администрацию тревожить письмами)) ВОобщем ссылка на сайт azmiu.w6.ru Вопрос в том что русский шрифт задаётся вопросиками.. На мой взгляд это кодировка которая по стандарту стоит в бд.. Почитал немного на форуме решил попробовать изменить её написал в SQL запросе set charse 'cp1251' всё равно не получилось изменить.. Прошу помочь и объяснить по подробнее.. ПОсле того как я войду в пхпмайадмин что делать дальше.. Знающих прошу объяснять по шагам.. Заранее спасибо..


Название: Re: Кодировка в БД
Отправлено: Crow от Январь 29, 2008, 04:13:48
Кодировку вы изменить и так и так не сможете, ибо нет нужных прав доступа. Можете изменить только сопоставление. Попробуйте, мож поможет, да и нюку и проще и надёжнее было ставить Айоловскую из панели управления и не было бы таких трабл. А вообще подобные вопросы на форуме уже были, use search (http://www.ayola.net/forum/index.php?action=search).


Название: Re: Кодировка в БД
Отправлено: support@ayola.net от Январь 29, 2008, 04:30:12
А на каком вы sql сервере находитесь?


Название: Re: Кодировка в БД
Отправлено: gamal от Январь 30, 2008, 02:45:50
sql-1.ayola.net 


Название: Re: Кодировка в БД
Отправлено: gamal от Январь 30, 2008, 02:47:57
Кодировку вы изменить и так и так не сможете, ибо нет нужных прав доступа. Можете изменить только сопоставление. Попробуйте, мож поможет, да и нюку и проще и надёжнее было ставить Айоловскую из панели управления и не было бы таких трабл. А вообще подобные вопросы на форуме уже были, use search (http://www.ayola.net/forum/index.php?action=search).

Нашёл  тему, та же самая проблема и у меня http://www.ayola.net/forum/index.php/topic,48.0.html
Там есть совет администрации, я так и не понял что там делать? И где откопать это файл mysqld


Название: Re: Кодировка в БД
Отправлено: support@ayola.net от Январь 30, 2008, 03:05:20
sql-1.ayola.net 
В таком случае запрос выглядит так:
set names 'cp1251';




Название: Re: Кодировка в БД
Отправлено: gamal от Январь 30, 2008, 03:21:53
SQL-запрос был успешно выполнен

Открываю azmiu.w6.ru  та же самая проблема..


Название: Re: Кодировка в БД
Отправлено: MrMario от Январь 30, 2008, 03:24:56
ты кода сам сайт заливал там в конфигах поменял кодировку?


Название: Re: Кодировка в БД
Отправлено: gamal от Январь 30, 2008, 03:31:12
Я новичок.. В каких конфигах.. прошу объясните..


Название: Re: Кодировка в БД
Отправлено: MrMario от Январь 30, 2008, 03:33:23
ну в самом сайте там де все скины и т.д. там есть файл непомню уже в каком там по идеи нада менять кодировку на ту что стоит у хостнга, вроде так я ранбше делал кода свои серваки на ла2 мутил)


Название: Re: Кодировка в БД
Отправлено: gamal от Январь 30, 2008, 03:36:21
config имеете в виду?


Название: Re: Кодировка в БД
Отправлено: support@ayola.net от Январь 30, 2008, 03:42:18
SQL-запрос был успешно выполнен

Открываю azmiu.w6.ru  та же самая проблема..
Понятно. Этот запрос совсем не так применяется.  :)

Ставьте нормальную CMS, которая нормально работает с кодировками.
Если хотите именно PHP-Nuke, то в панели управления сайтом выберите установку PHP-Nuke, и вам оно его само поставит.


Название: Re: Кодировка в БД
Отправлено: gamal от Январь 30, 2008, 03:51:07
Это на ayola.net при входе своим логином? Вхожу а что далее где там?


Название: Re: Кодировка в БД
Отправлено: gamal от Январь 30, 2008, 03:59:55
Я всё сделал как вы и сказали.. НО так как написанно в утсановке скриптов При установке скрипта все файлы находящиеся на вашем сайте будут удалены. Файлы не удалились а сайт лишь изменился и вопросики остались


Название: Re: Кодировка в БД
Отправлено: gamal от Январь 31, 2008, 05:00:07
Я решил заново удалить файлы в ручную и таблицы с базы.. Вновь залил нюку и СКЛ такая же проблема


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 01, 2008, 02:54:54
МНе кто нибудь поможет?


Название: Re: Кодировка в БД
Отправлено: swer от Февраль 01, 2008, 04:09:26
Странно когда проблемы с кодировкой то вопросики везде а тут в некоторых,ты удалял все таблицы с мускула.Попробуй удалит все с мускула и с фтп и переустанови с панели айолы,а если не работает то постав utf-8 unicode.Если ничего не помогло то попробуй др cms тогда будет ясно в чем трабл)


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 01, 2008, 04:40:56
Да пробовал я .. удалил всё заново ставил скрипт, заливал на фтп и когда СКЛ в БД заливал ставил кодировку уже не 1251 а УТФ, незнаю в чём проблема...


Название: Re: Кодировка в БД
Отправлено: DemoNF от Февраль 01, 2008, 05:22:54
Попробуй удалить таблицы и выполнить запрос
ALTER DATABASE _имя_базы_данных_ COLLATE 'cp1251_general_ci' CHARSET 'cp1251'

После открыть sql файл в блокноте и пересохранить в кодировке 1251 ANSI и выполнить импорт в phpmyadmin.


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 02, 2008, 02:26:22
Ничего не помогает... ВСё равно та же проблема..


Название: Re: Кодировка в БД
Отправлено: DemoNF от Февраль 03, 2008, 15:43:10
В какой кодировке база? И неверное отображение кодировки в базе или же на сайте?


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 04, 2008, 02:26:13
База у айолы UTF юникод... А неверное отображение на сайте.. русский шрифт задаётся вопросиками


Название: Re: Кодировка в БД
Отправлено: DemoNF от Февраль 04, 2008, 02:38:01
Попробуй поставить в кодировке ср1251. Или же как вариант: установи дома на Денвере, а потом тупо сделай дамп базы и залей на хост.


Название: Re: Кодировка в БД
Отправлено: tzps@ayola.ru от Февраль 04, 2008, 14:26:08
База у айолы UTF юникод... А неверное отображение на сайте.. русский шрифт задаётся вопросиками
Только на SQL-1.
На сервере SQL-2, в соответствиями с пожеланиями пользователей - cp1251


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 05, 2008, 02:51:43
Тоесть? ЧТо я могу сделать? Перерегистрироваться или же как?


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 05, 2008, 02:53:45
Попробуй поставить в кодировке ср1251. Или же как вариант: установи дома на Денвере, а потом тупо сделай дамп базы и залей на хост.
Никак не получается.. пробовал..


Название: Re: Кодировка в БД
Отправлено: tzps@ayola.ru от Февраль 05, 2008, 04:13:29
Тоесть? ЧТо я могу сделать? Перерегистрироваться или же как?
Вы можете нормально импортировать базу указав правильную кодировку импорта. Я ведь не знаю что у вас там :(
Если совсем плохо, и вы уверены что кодировка cp1251 решит проблему - да, можете перерегистрироваться.

Однако я бы посоветовал нормально импортировать базу. Я встречал всего 1 неимпортирющуся базу - её пользователь редактировал и пересохранял в итоге потеряв кодировку. Такое бывает если пользоваться деревянными редакторами.


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 06, 2008, 02:26:12
Нормально в вашем понимании это как? Я вам скажу что и как я делал.... ВОобще мой сайт на денвере когда писался БД я ставил кодировку ср1251, залив на сайт с той же кодировкой у меня появилась проблема.. Я решил что можно будет залить базу с кодировкой UTF-8 всё равно неполучилось.. Перегестрироваться не проблема вот только может подскажете как получить Базу на sql-2 ? Вы же сказали что там нормально поддерживается ср1251


Название: Re: Кодировка в БД
Отправлено: Argentum@ayola.ru от Февраль 06, 2008, 13:34:24
Сейчас все новые акаунты регистрируются на sql-2, поэтому и советуем зарегистрироваться заново. :)


Название: Re: Кодировка в БД
Отправлено: dimdimon от Февраль 06, 2008, 14:24:09
gamal, я сталкнулся точно с такой же проблемой, не скажу что решил, но вцелом "обошёл": ситуация выглядела так:
- отлаживал сайт с помощью Денвера, база там с кодировкой cp1251-general-si, и в базе и на страницах текст отображается корректно;
- перенёс страницы на хостинг и начал вносить данные в таблицу через панель управления базой - на ней текст читается, а на странице сайта "знаки вопроса";
- при этом, если заполнять таблицу средствами моего сайта, тоесть ввести текст и нажать кнопку "Добавить", то на сайте текст читается, а в панеле управления базой - чёрти-что;
- кодировку базы хостинга ты на на cp1251-general-si изменить не сможешь, она жёстко назначена (у меня sql-1), можно менять только режим "сравнения", но это не то;

Вывод: главное что? главное чтобы на странице сайта люди могли читать текст, а в базе пусть хранятся каракули, всё-равно их только Ты один увидишь, поэтому оставь всё как есть, а данные перенеси через обработку формы отправки командами INSERT INTO и всё :)


Название: Re: Кодировка в БД
Отправлено: Феодосия от Февраль 06, 2008, 20:22:34
Вывод: главное что? главное чтобы на странице сайта люди могли читать текст, а в базе пусть хранятся каракули.
Согласен, у меня такая же была проблема, теперь на каракули не обращаю внимания :)


Название: Re: Кодировка в БД
Отправлено: jr от Февраль 06, 2008, 20:57:06
- кодировку базы хостинга ты на на cp1251-general-si изменить не сможешь, она жёстко назначена (у меня sql-1), можно менять только режим "сравнения", но это не то;

Вывод: главное что? главное чтобы на странице сайта люди могли читать текст, а в базе пусть хранятся каракули, всё-равно их только Ты один увидишь, поэтому оставь всё как есть, а данные перенеси через обработку формы отправки командами INSERT INTO и всё :)
character_set_connection: cp1251
character_set_database: cp1251
сервер sql-1. я, наверное, что-то не так делаю? :) база в cp1251. форум в cp1251, никаких каракуль ни в пхпмуадмин, ни на форуме.

это по умолчанию база в утф8 создается, изменить ее кодировку можно при помощи 'alter database' либо кликнув на 'operations' в phpmyadmin. и только не говорите, что я не предупреждал о необходимости бекапов и потери данных при конвертировании живой базы ,)


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 07, 2008, 02:40:06
Так объясните по шагово.. Куда задавать? В SQL? и как опишите по подробнее.. Заранее спасибо...


Название: Re: Кодировка в БД
Отправлено: DemoNF от Февраль 07, 2008, 03:00:16
Согласен, у меня такая же была проблема, теперь на каракули не обращаю внимания :)
Не согласен. А если придется переезжать - что вы будете делать с такой базой? И даже сейчас у вас в любой момент могут возникнуть проблемы с кодировкой.

to gamal
Я понял так что у тебя кракозябры на сайте а не в базе. Попробуй вставить в .htaccess такие строки:
Определение кодировки, в которой сервер "отдает" файлы
AddDefaultCharset windows-1251

Определение кодировки на загружаемые файлы
CharsetSourceEnc windows-1251

И в твоем скрипте который соединяется с базой добавь такие строки:
$this->_cursor = mysql_query( "set session character_set_server=cp1251;", $this->_resource );
$this->_cursor = mysql_query( "set session character_set_database=cp1251;", $this->_resource );
$this->_cursor = mysql_query( "set session character_set_connection=cp1251;", $this->_resource );
$this->_cursor = mysql_query( "set session character_set_results=cp1251;", $this->_resource );
$this->_cursor = mysql_query( "set session character_set_client=cp1251;", $this->_resource );


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 08, 2008, 02:21:22
Цитировать
И в твоем скрипте который соединяется с базой добавь такие строки:

Скрипт? про .htaccess имеем в виду? Если я не прав, прошу объясните.. Заранее благодарю..


Название: Re: Кодировка в БД
Отправлено: DemoNF от Февраль 08, 2008, 03:17:13
нет. имеется в виду файл отвечающий за соединение с базой.


Название: Re: Кодировка в БД
Отправлено: DemoNF от Февраль 08, 2008, 03:59:02
вот что удалось найти по поводу проблемы с кодировкой у PHP Nuke:

Необходимо создать базу в кодировке cp1251.
SQL файл должен быть в той же кодировке.
Иногда помогает следующий запрос к базе ALTER DATABASE `имя базы` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
Если не помогло:
В mainfile.php найдите строки

if (defined('FORUM_ADMIN')) {
@require_once("../../../includes/sql_layer.php");
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
} elseif (defined('INSIDE_MOD')) {
@require_once("../../includes/sql_layer.php");
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
} else {
@require_once("includes/sql_layer.php");
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
}

ну ил что-то вроде...
и добавьте после них

mysql_query("SET CHARSET cp1251") or die (mysql_error());

Также можно проверить "define("_CHARSET","windows-1251");" в языковом файле language/lang-russian.php


Название: Re: Кодировка в БД
Отправлено: swer от Февраль 10, 2008, 19:45:26
Совет ток один-создай новый аконд и не парься ,хотя по идее правки в .htaccess должны были помочь.


Название: Re: Кодировка в БД
Отправлено: gamal от Февраль 11, 2008, 03:37:52
Да я уже зарегестрировался.. Всем огромное спасибо.. Всё отлично пашет