Имена файлов искажаются после загрузки с помощью php move_uploaded_file ()

1

В моем php-коде я хочу загружать файлы с именами фарси (например, نام. Pdf), но после этого загруженное имя файла искажается. Я нахожусь на компьютере с Win 7 (64 бит), используя WAMP в качестве среды разработки. Я знаю, что эта проблема связана с моей рабочей средой, потому что код отлично работает на производственной машине Linux. Как я могу преобразовать $uploaded['name'] в поддерживаемую кодировку на машине Windows? Пожалуйста, помогите мне.

  • 0
    Возможно связано: stackoverflow.com/questions/6467501/…
  • 0
    @ ryan-bemrose Нет, это не помогло мне
Теги:
file-upload
encoding
wamp

2 ответа

1

Проблема исправлена на PHP 7.1, но если вы намерены придерживаться текущей версии PHP, которую вы используете, есть исправление для ОС Windows.

Пожалуйста, проверьте поток, который я опубликовал некоторое время назад, и решение, которое я нашел (прочитайте FINAL EDIT моего оригинального сообщения):

Решение для имен файлов UTF-8 и PHP move_uploaded_file

0

Существует функция PHP, называемая: utf8_encode. http://www.w3schools.com/php/func_xml_utf8_encode.asp

Кроме того, вы можете убедиться, что у вас есть эта строка:
Путь PHP:
header('Content-Type: text/html; charset=utf-8');

Способ HTML:
<meta charset="utf-8">

  • 0
    Я использовал utf8_encode, но проблема остается. Кодировка также установлена в заголовке UTF-8.
  • 0
    Можете ли вы выслать ссылку на любой фарси-файл в формате pdf, чтобы я мог что-то проверить для вас? У меня также есть имена файлов на языке RTL, и у меня никогда не было этой проблемы раньше.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню