Здравствуйте!
1) У меня форум - стандартный скин, на английском языке.
Пользователи пишут сообщения на трех языках: на русском, латышском и английском. Кодировка вин-1257 - это латышский язык. Латиница+спецсимволы там имеются всякие-разные.
Названия тем, имена пользователей, записи в профиле получаются только на латышском или английском. Вместо русских букв - спецсимволы (закорючки и амперсанды) получаются. С этим я уже смирилась. Это, в общем-то, не такая уж и проблема.
А вот насчет поиска просто обидно. На латышском ищет, а на русском - выдает кучу ненужных тем и, что интересно, если начинаешь просматривать эти найденные темы, то там вместо русских букв - решетки и цифры.
2) Упс! Я только что заметила. У меня беда. Я вчера обновляла форум. Перзаписывала целиком файлы и папки. Все вроде работает. А посмотрела сейчас, что у меня вдруг две папки образовалось со синами: subSilver и subsilver. Что мне с ними делать?
Мультиязычный форум
-
- phpBB 2.0.1
- Сообщения: 294
- Стаж: 20 лет 2 месяца
- Откуда: Санкт-Петербург
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 11 месяцев
-
- phpBB 1.0.0
- Сообщения: 1
- Стаж: 19 лет 11 месяцев
Re: Мультиязычный форум
таже проблема. само сообщение без проблем. а тема в спец символах.Moshka писал(а):1) У меня форум - стандартный скин, на английском языке.
Пользователи пишут сообщения на трех языках
Названия тем, имена пользователей, записи в профиле получаются только на латышском или английском. Вместо русских букв - спецсимволы (закорючки и амперсанды) получаются.
это можно вылечить???
-
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 19 лет 6 месяцев
Здравствуйте Уважаемые
Присоединяюсь к числу тек кто сталкнулся с подобной проблемой, но мне нужно для французских букв с акцентами é à è ç
Всем кто решил эту проблему просьба откликнуться
С Уважением
Всем кто решил эту проблему просьба откликнуться
С Уважением
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет 5 месяцев
Хи-хи...
И я в очередь
Добавлено спустя 42 минуты 38 секунд:
Заметил, что если в бд написать принудительно "& uuml;" , то выводится то что нужно...
Добавлено спустя 1 час 5 минут 12 секунд:
Ага... дело в том, что символ '&' заменяется на '&', а делается это htmlspecialchars().
Как вы понимаете, это должно было решить задачу о безопасности и стабильности.
Колдую дальше
Добавлено спустя 22 минуты 41 секунду:
И так:
Берём функцию:
Если вам нужны не умлауты, а другие спец символы, то добавляем нужные строчки или изменяем имеющиеся.
(обратите внимание на то что мы ищем)
Таблица символов тут.
ну и в нужных местах вызываем эту функцию
И я в очередь

Добавлено спустя 42 минуты 38 секунд:
Заметил, что если в бд написать принудительно "& uuml;" , то выводится то что нужно...
Добавлено спустя 1 час 5 минут 12 секунд:
Ага... дело в том, что символ '&' заменяется на '&', а делается это htmlspecialchars().
Как вы понимаете, это должно было решить задачу о безопасности и стабильности.
Колдую дальше
Добавлено спустя 22 минуты 41 секунду:
И так:
Берём функцию:
Код: Выделить всё
function specsimbols ($var_string)
{
$var_string = str_replace ("Ä", "Ä", $var_string);
$var_string = str_replace ("Ö", "Ö", $var_string);
$var_string = str_replace ("Ü", "Ü", $var_string);
$var_string = str_replace ("ä", "ä", $var_string);
$var_string = str_replace ("ö", "ö", $var_string);
$var_string = str_replace ("ü", "ü", $var_string);
return ($var_string);
}
(обратите внимание на то что мы ищем)
Таблица символов тут.
ну и в нужных местах вызываем эту функцию
-
- phpBB 2.0.1
- Сообщения: 294
- Стаж: 20 лет 2 месяца
- Откуда: Санкт-Петербург
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет 5 месяцев
Ну между тем местом, где их забирают из Пост-переменных и записывают в БД. Главное, чтоб между не было htmlspecialchars().OtherDima писал(а):а нужные места это где именно?:)
У меня делается в двух местах. (На форуме проблемы были с профилем пользователей - взгляни на мои интересы на этом форуме и не расстраивайся

1. При регистрации вместе с фунцией стрипслеш() - найти легко.
2. При изменении профиля непосредственно перед составлением СКуЛь-команды. (Эта та, которая с Апдейт)
есть еще один способ. Ищешь все htmlspecialchars() и после их выполнения вызываешь мою функцию.