Перейти к контенту
  • 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 работает
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

Зарузка...

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

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

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