Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Функция htmlspecialchars()

Вопросы, связанные с локализацией phpBB 2.0.x
Vova
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 7 месяцев

Функция htmlspecialchars()

Сообщение Vova »

в файлах viewtopic.php и viewforum.php, используется функция htmlspecialchars(), я так понимаю что она преобразует введенный текст в HTML сущности типа (#1085;ов&#1072&#1103).

Проблема в том что она название темы (если она написана на русском) по какой-то причине не преобразовывает обратно и отображает в названии совсем не то что хотелось бы.

В БД русские названия тем хранятся в HTML сущностях (#1085;ов&#1072#1103).

Есть обратная ей функция - html_entity_decode -- Преобразует HTML сущности в соответствующие символы. Может быть стоит ее применить в обратном преобразовании?
~ & § OM § & ~
phpBB 1.4.4
Сообщения: 141
Стаж: 17 лет 8 месяцев
Контактная информация:

Сообщение ~ & § OM § & ~ »

Vova
чета вы гоните )
htmlspecialchars преобразует исключительно спецсимволы, но никак не русские буквы. Если у вас так храняться русские буквы то разберитесь с кодировкой, она должна быть везде win-1251 (cp1251_general_cs)
Вниманию чертей!
Прежде чем задать очередной идиотский вопрос - прочитай сначала правила, потом общие ошибки новичков, Руководство пользователя и частозадаваемые вопросы, после чего, если желание задавать вопрос еще не пропало - на основании шаблона запроса можно задать вопрос в соответствующем разделе конференции.
Необходимо помнить, что поддержка оказывается только для последней версии и только на конференции.
Vova
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 7 месяцев

Сообщение Vova »

Если у вас так храняться русские буквы то разберитесь с кодировкой
Где хранятся? Они в базу попадают уже в таком виде. Значит это phpBB их сначала преобразовывает.

она должна быть везде win-1251 (cp1251_general_cs)
Где везде? В lang_main.php менял переменную
$lang['ENCODING'] = 'win-1251; - не помогает, в БД менял все текстовые поля на 'win-1251 - не помогает.
~ & § OM § & ~
phpBB 1.4.4
Сообщения: 141
Стаж: 17 лет 8 месяцев
Контактная информация:

Сообщение ~ & § OM § & ~ »

Vova
Да это вы отправляете туда в тако кодировке
Слушайте, у вас случаем не с EZ порталом такая проблема?
Вниманию чертей!
Прежде чем задать очередной идиотский вопрос - прочитай сначала правила, потом общие ошибки новичков, Руководство пользователя и частозадаваемые вопросы, после чего, если желание задавать вопрос еще не пропало - на основании шаблона запроса можно задать вопрос в соответствующем разделе конференции.
Необходимо помнить, что поддержка оказывается только для последней версии и только на конференции.
Vova
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 7 месяцев

Сообщение Vova »

Портал EZ не знаю, вот ссылка:
http://www.ecoforum.com.md/viewforum.ph ... 2dc712a416
~ & § OM § & ~
phpBB 1.4.4
Сообщения: 141
Стаж: 17 лет 8 месяцев
Контактная информация:

Сообщение ~ & § OM § & ~ »

ну с русскими буквами все ок... Чтоже вас не устраивает?
Вниманию чертей!
Прежде чем задать очередной идиотский вопрос - прочитай сначала правила, потом общие ошибки новичков, Руководство пользователя и частозадаваемые вопросы, после чего, если желание задавать вопрос еще не пропало - на основании шаблона запроса можно задать вопрос в соответствующем разделе конференции.
Необходимо помнить, что поддержка оказывается только для последней версии и только на конференции.
Vova
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 7 месяцев

Сообщение Vova »

да - а вы попробуйте добавить новую тему, кроме того посмотрите там где Message -> post subject - он не отображается корректно.

а название темы стало частично правильно отображаться после того как я добавил в viewtopic.php функцию html_entity_decode() в строке 199.
~ & § OM § & ~
phpBB 1.4.4
Сообщения: 141
Стаж: 17 лет 8 месяцев
Контактная информация:

Сообщение ~ & § OM § & ~ »

Vova
чета вы намутилинереальное )))
Вниманию чертей!
Прежде чем задать очередной идиотский вопрос - прочитай сначала правила, потом общие ошибки новичков, Руководство пользователя и частозадаваемые вопросы, после чего, если желание задавать вопрос еще не пропало - на основании шаблона запроса можно задать вопрос в соответствующем разделе конференции.
Необходимо помнить, что поддержка оказывается только для последней версии и только на конференции.
Vova
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 7 месяцев

Сообщение Vova »

ну да - это просто нереально - когда ставишь phpBB 2.0.21 и он ни в какую не работает с русским языком :) .
~ & § OM § & ~
phpBB 1.4.4
Сообщения: 141
Стаж: 17 лет 8 месяцев
Контактная информация:

Сообщение ~ & § OM § & ~ »

Vova
1481714-стучись попробую помоч ;)))
Вниманию чертей!
Прежде чем задать очередной идиотский вопрос - прочитай сначала правила, потом общие ошибки новичков, Руководство пользователя и частозадаваемые вопросы, после чего, если желание задавать вопрос еще не пропало - на основании шаблона запроса можно задать вопрос в соответствующем разделе конференции.
Необходимо помнить, что поддержка оказывается только для последней версии и только на конференции.
Аватара пользователя
direqtor
phpBB 1.4.1
Сообщения: 43
Стаж: 17 лет 9 месяцев
Откуда: Владивосток
Контактная информация:

Сообщение direqtor »

Проблема как всегда не с phpBB 2.0.21, а с мозгом.
Vova писал(а):
Если у вас так храняться русские буквы то разберитесь с кодировкой
Где хранятся? Они в базу попадают уже в таком виде. Значит это phpBB их сначала преобразовывает.
она должна быть везде win-1251 (cp1251_general_cs)
Где везде? В lang_main.php менял переменную
$lang['ENCODING'] = 'win-1251; - не помогает, в БД менял все текстовые поля на 'win-1251 - не помогает.
Русские буквы преобразует не phpbb, они меняются при вводе в поле формы. В php попадают уже сущности HTML.
Внимательно смотрим: $lang['ENCODING'] = 'win-1251; не поможет, это неправильно. Правильное наименование русской кодировки windows-1251.
Поскольку в вашей странице стоит

Код: Выделить всё

<meta http-equiv="Content-Type" content="text/html; charset=win-1251">
то браузер такой кодировки не знает, и потому все, что попадает в поля формы преобразуется.
Программы тупы, если наименование кодировки не соответствует стандарту, то она его не поймет и проигнорирует. Уберите черточку или напишите windows1251 слитно и получите тот же результат.
Закрыто

Вернуться в «Локализация phpBB 2.0.x»