Будет ли эта кодировка проблемой в будущем?

0

У меня есть эта функция внутри php файла:

mysql_query("SET NAMES 'utf8'") or die(mysql_error()); 
mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error());

    some stuff happening here,

rename($src, $dest.$cat);

Вот на сервере, и у меня есть настройка, которая работает сегодня (по крайней мере в моих браузерах).

Теперь, на моей локальной машине (мой собственный ноутбук с wampserver), это не сработает, если я не сделаю это:

mysql_query("SET NAMES 'utf8'") or die(mysql_error()); 
mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error());

      some stuff happening here

$cat=utf8_decode($category);
rename($src, $dest.$cat);

И у меня также есть meta=utf-8 в этом php файле.

$cat получает свой контент из mysql_query...

Я хотел бы знать разницу (почему он не работает одинаково на сервере и на моей локальной машине)?

И я хотел бы знать, вызовет ли это проблемы для разных браузеров пользователей, если у вас есть это

  • 0
    Это действительно секретный вопрос?
Теги:
database
security

2 ответа

0
Лучший ответ

Операции файловой системы в Windows требуют, чтобы вы указывали пути/имена файлов в кодовой странице Windows.

SO Я бы предположил, что ваша кодовая страница, вероятно, похожа на cp1252, поэтому вы должны использовать utf8_decode. Обратите внимание, что, к сожалению, вы не можете установить кодовую страницу Windows в UTF-8 (65001).

В Linux, с другой стороны, вы можете использовать любую кодировку, которую хотите. Однако вы должны быть последовательными - если вы сохраняете файл с использованием имени файла UTF-8, вы должны прочитать его, используя одну и ту же последовательность байтов.

0

как метатеги , так и SQL-запросы не влияют на операции файловой системы.

это, вероятно, проблема с файловой системой. Windows может перекодировать ваши имена файлов.

Ещё вопросы

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