Nezn
@Nezn
PHP ujdyjtl, yj yt cenm.

Кодировка символов в PHP под WIndows?

Существует ли возможность создавать файлы с именем в кодировке UTF-8 на Windows? Возникла потребность создавать файлы в казахской кодировке на windows, но столкнулись с проблемой, что в php при использовании функции fopen или ей подобной создаёт очень похожие символы(далее будет видно в примере) но не то что нужно.

Пример:

$filename = chr(129); - OR - = "\x81";
fopen(".\\$filename","w");
file_put_contents(".\\".$filename , "test");

Результат - "Г`", а требуется "Ғ".
  • Вопрос задан
  • 370 просмотров
Решения вопроса 1
Nezn
@Nezn Автор вопроса
PHP ujdyjtl, yj yt cenm.
Нашел решение для данной проблемы. Действительно, как я и предполагал изначально(каюсь что не сделал наводку, возможно что кто-то быстрее меня бы решил) дело заключается в том, что PHP использует устаревший виндовый API , который работает только с ASCII или ANSI.

https://gist.github.com/nicolas-grekas/2665437
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
А давайте ещё раз, но вы определитесь, в какой кодировке вы пытаетесь работать.
В кодировке UTF8 строка из единственного байта \x81 недопустима.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы