Перейти к контенту
  • 0

Вопросики вместо русских букв


Вопрос

День добрый, есть проблемка

У меня на форуме вместо русских букв выводятся вопросики (именно вопросики а не кракозябры), не смотря на то что база, таблицы, поля и содержимое находится в cp1251 и в свойствах форума прописано windows-1251

Но как только я добавляю строку в /ips_kernel/classDbMyslqClient.php

 

после этого

 

		if ( ! mysql_select_db($this->obj['sql_database'], $this->connection_id) )
	{
		$this->throwFatalError();
		return FALSE;
	}

 

это

 

	else mysql_query("SET NAMES 'cp1251'");

 

все начинает отображаться и функционировать как надо

Хотя нет, не все, когда пытаюсь в админке поменять ник на русский он мне выдает что-то типа

 

Цыхра

 

Подозреваю что тут utf8 замешан как-то, но не пойму где именно.

Изменено пользователем Tsykhra
Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 64
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Загружено фотографий

Рекомендуемые сообщения

  • 0

Эксперименты с IPB 3.0 en (не RC)

 

1. Пробовал обновить с 2.3.6. до 3.0 в cp1251 - в общем прошло без проблем. Пока вопросов нет.

2. Попытался установить с нуля 3.0, используя базу в мускуле в utf-8, получилась интересная вещь - "пропадают" некоторые русские символы, например "Р", "Я" и возможно еще какие-то. Образец можно посмотреть тут.

У этого хостера никогда не было проблем с cp1251. А с utf-8 произошел интересный сбой. Кто виноват? Хостер или ...?

И еще одна проблема - Board Name упорно подставляет "Invision Power Board", хотя утверждает, что "IP.Board Message Settings updated" на внесенное мной название...

3. Страницы АЦ в браузере упорно отображаются в windows-1251 (страницы фротнэнда - как и положено в utf-8). В admin/index.php прописал рекомендованное "define( 'IPS_DOC_CHAR_SET', 'UTF-8' );". Если вручную выбираю в браузере UTF-8, то русский текст читабелен, например на странице настроек форумов (снова отсутствуют названные выше русские символы ). Хотя в исходном коде страницы вижу:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="Fri, 01 January 1999 01:00:00 GMT" />
<link rel="shortcut icon" href="favicon.ico" />

Будут какие либо рекомендации или все эти проблемы решатся в выходом русской версии от IBR?

Изменено пользователем pvo1988
Ссылка на комментарий
Поделиться на других сайтах

  • 0

В общем символы русского алфавита пропадают даже если форум установлен в cp1251.

Пропадают те же русские строчные "р", "я" и т.д (ПРОПИСНЫЕ отображаются нормально).... вот такие "вопросики" без "ответиков"...

Изменено пользователем pvo1988
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не за что :D

 

Все же мы с выходом финальной версии будем рекомендовать переносить ваши базы из cp1251 в utf8. Стабильность и скорость работы с текстом заметно улучшаются.

 

Собственно как перекодировать можно поискать на форуме или в нашей базе знаний.

http://www.zulus.ws/wp-content/uploads/200...harset_conv.zip ссылка битая ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

> Пропадают те же русские строчные "р", "я" и т.д (ПРОПИСНЫЕ отображаются нормально).... вот такие "вопросики" без "ответиков"...

В admin/sources/base/core.php

 

Заменить

			$t = str_replace( chr(160), ' ', $t );
		$t = str_replace( chr(173), ' ', $t );
		$t = str_replace( chr(240), ' ', $t );

		$t = str_replace( chr(0xA0), "", $t );  //Remove sneaky spaces	Same as chr 160

на

			//$t = str_replace( chr(160), ' ', $t );
		$t = str_replace( chr(173), ' ', $t );
		$t = str_replace( chr(240), ' ', $t );

		//$t = str_replace( chr(0xA0), "", $t );  //Remove sneaky spaces	Same as chr 160

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Заменил. Переписал названия. Глюк остался. Форум на ср1251 (апгрейд с 2.3.6_ru без конвертации кодировки)

 

На днях попробую сконвертировать в utf-8 и апгрейдить до 3.0

Изменено пользователем pvo1988
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Версия 3.0.1

проверка алфавита

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч �? щ ъ ы ь э ю я А Б В Г Д Е Ё Ж З �? Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Версия 3.0.1

Заметил еще 1 глюк...

когда меняется название группы пользователей и название дольше 16 символов, то начиная с 17-ого символа будут отображатся крякозяблы

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Версия 3.0.1

Заметил еще 1 глюк...

когда меняется название группы пользователей и название дольше 16 символов, то начиная с 17-ого символа будут отображатся крякозяблы

У меня после 16 символа все обрезает)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Есть еще одна проблема, не знаю, только у меня или же у всех.

 

В случае, если выбрана русская локаль (ru_RU), то даты выводятся эээ... ромбиками (в IE квадратиками). Смотреть тут http://test.applelife.ru.

 

Кстати в этом сообщении http://forums.ibresource.ru/index.php?show...st&p=348081 такая же ерунда после символов "ч" и "З".

 

Как это лечится?

 

 

Другая проблема - не работают фурлы типа http://test.applelife.ru/forum/10-новости/ или http://test.applelife.ru/forum/97-mac-os-x/ (от языка не зависит). Выдается 404.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вообще теперь не надо делать то страшное извращение над кодом

 

> Но как только я добавляю строку в /ips_kernel/classDbMyslqClient.php

 

$INFO['sql_charset']					=	   'cp1251';

 

в conf_global.php

 

добавил, вопросики поменялись на русские символы, но не везде ;)

 

www.fc-arsenal.com/ipb/

 

указал cp1251 в conf_global, а также в админке

 

при выводе списка форумов и тем выводится русский, а посты выводятся вопросительными знаками :D

 

где еще посоветуете искать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Копались с языками немного. Обнаружилась интересная вещь - если сделать экспорт языков, затем переложить язык в master_lang и сделать импорт, то мы получим не то, что было изначально. Вероятно потому что он открывает файлы в utf-8 и делает им ещё раз utf8_encode.

 

Хотя в нашем случае, насколько помню, это всё равно не катит, т.к. ISO и cp1251 - разные вещи.

 

Если я ни в чем не ошибаюсь, то IPB 3.0 без правок ядра нельзя корректно подружить с языками, отличными от английского. И то английский пашет лишь только потому, что он одинаков во всех кодировках.

 

Предположительно по этой же причине lang-паков на IZE ровно ноль. Можно только напрямую править кеш, который у тебя слетит при первом же обновлении. >___>

 

Круто...

Изменено пользователем WildRAID
Ссылка на комментарий
Поделиться на других сайтах

  • 0

гм... поставил тестовый форум на сервер путем апгрейда - кодировка базы cp1251, в админке windows-1251, импортировал руссик (от бета версии найденный в нете).

 

вопросики вместо текстов будут как только поставишь кодировку UTF8 в админке... При windows-1251 вопросиков нет.

 

короче админка, форум и сообщения - все на русском языке. Но встречаются UTF8 баги... так в частности вот примерно такое:

post-60851-1248205352_thumb.jpg

 

т.е. то что в файлах находится в UTF8 отображается в кодах UTF

 

в остальном база работает, форум тоже... имхо разработчики накосячили ориентируя форум на UTF-8 и одновременно делая его скрипты и файлы в кодировке iso-8859-1 а не сразу в UTF-8. В итоге при переводе на любой язык кроме енглиш начинаются косяки с кодировками.

Изменено пользователем amelcreate
Ссылка на комментарий
Поделиться на других сайтах

  • 0

головой думать надо, тогда не начинаются

 

глюки с кодировкой выглядят иначе, а у вас глюки от попыток отправить русский текст под кодировкой iso в админке

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Гм... интересно это как? в переводе все в UTF-8 стоит... базу конвертнул в UTF-8, коннект с базой тоже поставил в UTF-8, в админке и на самом форуме стоит дефолт чарсет windows1251 ибо иначе знаки вопроса в темах и служебных надписях. с windows 1251 все кроме нескольких технических надписей отображается корректно... стоит поставить дефолт в UTF-8 начинаются знаки вопросов, поэтому стоит дефолт чарсет 1251

при этом глюк с кнопками остается и в UTF-8 и в windows-1251

т.е. непонятно откуда вдруг возникает часть надписей в кодировке ISO.

Изменено пользователем amelcreate
Ссылка на комментарий
Поделиться на других сайтах

  • 0

База в UTF-8 в админке UTF-8 на сайте UTF-8:

- часть слов из базы - знаки вопросов - похожи, на глюк с ISO (это не посты, это названия групп, это имена званий и т.д.)

- после установки русской локали даты также не отображаются - знаки вопросов, но уже похожие на глюк UTF-8

- после установки SEF в адресе кирилица. как убрать?

 

Глючнее релиза от IPS я ещё не видел. Попытаться перейти на UTF-8 не отказываясь от ISO (бОльшая часть файлов в этой кодировке) - это сильно. Что курят разработчики совершенно непонятно. Лучше бы курили мануалы по Unicode.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
в админке и на самом форуме стоит дефолт чарсет windows1251 ибо иначе знаки вопроса в темах и служебных надписях.

Вот и пошел бардак в кодировках. Там одно там другое, а третье вообще в ISO.

 

База в UTF-8 в админке UTF-8 на сайте UTF-8:

- часть слов из базы - знаки вопросов - похожи, на глюк с ISO (это не посты, это названия групп, это имена званий и т.д.)

- после установки русской локали даты также не отображаются - знаки вопросов, но уже похожие на глюк UTF-8

- после установки SEF в адресе кирилица. как убрать?

- и в самой базе они нормальные?

- локаль прописали не правильную, скорее всего CP1251

 

Попытаться перейти на UTF-8 не отказываясь от ISO (бОльшая часть файлов в этой кодировке) - это сильно.

Файлы хоть на иврите могут быть, главное правильно работать с UTF и сообщения в UTF хранить.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

еще такая интересная вещь:

 

1. поставил 3 версию форума для тестирования. Она расположена здесь:

http://www.fc-arsenal.com/forum/ipb_3_0_0_...pload/index.php

там с русским языком проблем никаких нет - сообщения добавляются на русском

 

2. проапгрейдил существующий форум - 99% сообщений перевелось на русский после ребилда постов из админки, некоторые посты остались знаками ???, а новые сообщения добавляются также знаками ???

 

3. в базе тестового форума, на котором все ок, все таблицы имеют кодировку latin1_swedish_ci, а в базе форума после апгрейда кодировка таблиц разная - cp1251_general_ci и latin1_swedish_ci

в админке и конф-глобал установил utf-8

 

саппорт IPB говорит, что помогать не будет до выхода 3 русской версии ;)

 

помогите советом, знатоки :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
надо свести все кодировки под общий знаменатель UTF-8 иначе так и будут крючки да закорючки

подскажите, плз, как правильно это сделать из-под phpMyAdmin

Ссылка на комментарий
Поделиться на других сайтах

  • 0
- и в самой базе они нормальные?

- локаль прописали не правильную, скорее всего CP1251

В базе всё ок.

Локаль поставил ru_RU. Какую нужно использовать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

достиг некоторых успехов :D

 

после того, как запросами в phpMyAdmin

 

ALTER TABLE `ibf_posts` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER TABLE `ibf_posts` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

поменял всем таблицам кодировку на utf8

 

новые сообщения стали отображаться на русском языке! ;) при этом часть старых все равно знаками ?????

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да, неправильная локаль. Должно быть ru_RU.UTF-8

 

со сменой локали даты исправились, но появилась такая проблема:

325 Тем

1�499 Ответов

 

Вот данные MySQL:

character_set_client utf8

character_set_connection utf8

character_set_database utf8

character_set_filesystem binary

character_set_results utf8

character_set_server utf8

character_set_system utf8

character_sets_dir /usr/share/mysql/charsets/

collation_connection utf8_general_ci

collation_database utf8_general_ci

collation_server utf8_unicode_ci

вроде всё в UTF-8 работает
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.