Не загружается файл с иероглифами или с необычным шрифтом в названии. К примеру такие - 𝕾𝕬𝕽
Как сделать, что бы небыло такого предуприждения призагрузке таких файлов - Ошибка HTTP ?
Не загружается файл с иероглифами
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB Guru
- Сообщения: 17010
- Стаж: 19 лет 2 месяца
- Откуда: Красноярск
- Благодарил (а): 560 раз
- Поблагодарили: 1717 раз
Re: Не загружается файл с иероглифами
Это 4-хбитные символы, для хранения которых нужна кодировка utf8mb4. Она не поддерживается phpBB, используется utf8mb3 (3-хбитная).
На самом деле, генерируется ошибка SQL
Код: Выделить всё
General Error
SQL ERROR [ mysqli ]
Incorrect string value: '\xF0\x9D\x95\xBE\xF0\x9D...' for column 'real_filename' at row 1 [1366]
SQL
INSERT INTO phpbb_attachments (physical_filename, attach_comment, real_filename, extension, mimetype, filesize, filetime, thumbnail, is_orphan, in_message, poster_id) VALUES ('2_ca99b508a06fccd0c17fd8966ef6f38f', '', '𝕾𝕬𝕽.zip', 'zip', 'application/x-zip-compressed', 4530, 1748278658, 0, 1, 0, '2')
BACKTRACE
FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()
FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 1031
CALL: trigger_error()
FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 216
CALL: phpbb\db\driver\driver->sql_error()
FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 353
CALL: phpbb\db\driver\mysqli->sql_query()
FILE: [ROOT]/includes/message_parser.php
LINE: 1747
CALL: phpbb\db\driver\factory->sql_query()
FILE: [ROOT]/posting.php
LINE: 1045
CALL: parse_message->parse_attachments()
Попробовать обойти можно с помощью правки ядра или расширением, которое обработает значение
$sql_ary['real_filename']
в функции parse_attachments()
в includes/functions_messenger.php
примерно таким образом:$sql_ary['real_filename'] = utf8_encode_ucr($sql_ary['real_filename'])
в двух местах, где идет добавление строк в таблицу вложений.-
- phpBB Guru
- Сообщения: 17010
- Стаж: 19 лет 2 месяца
- Откуда: Красноярск
- Благодарил (а): 560 раз
- Поблагодарили: 1717 раз
Re: Не загружается файл с иероглифами
Либо более простым способом: переименовать файл перед загрузкой с использованием обычных символов.
-
- phpBB 3.0.7
- Сообщения: 2419
- Стаж: 13 лет 3 месяца
- Откуда: Одесса
- Благодарил (а): 636 раз
- Поблагодарили: 168 раз
Re: Не загружается файл с иероглифами
Спасибо. Чат жпт примерно такое же и говорил. Буду просить его что бы создал расширение. В код ядра лесть неохота.
Много файлов с такими именами. Долго править.rxu писал(а): 26.05.2025 20:17 Либо более простым способом: переименовать файл перед загрузкой с использованием обычных символов.