s2d1ent
@s2d1ent
Специалист технической поддержки

Почему интерпретатор php не воспринимает кириллицу?

Пишу простенький вэб-сервер на C#, как свой проект в колледже, и столкнулся с такой проблемой, что когда мое ПО посылает файл интерпретатору php с кириллицей, он мне выводит разные кроказябры, если я ему говорю что файл находится по пути, где есть кириллица, то он отказывается работать с этим файлом. Как можно решить эту проблему?
Zi1k5Jts54I.jpg?size=1920x673&quality=96&sign=c1d0fae8a1234f179eb5a3f3fd85ea44&type=album
  • Вопрос задан
  • 579 просмотров
Решения вопроса 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Перед тем, как писать веб-серверы на C#, надо учиться описывать проблемы не языком домохозяек.

Не существует такой кодировки - "кириллица". Есть конкретная кодировка, которую необходимо указать в вопросе.
Нет такой команды в C# -"послать интерпретатору". Есть конкретная команда или действие, которое надо описать в вопросе.
Нет такой команды - "сказать, что находится по пути". Есть конкретный код, который надо привести в вопросе.
РНР - не посетитель в ресторане, чтобы "отказываться". Это программа. Которая либо работает, либо выдаёт сообщение об ошибке. Которое программист должен прочитать. Или по крайней мере, если не понял в нем ни одного слова, то аккуратно скопировать в свой вопрос.

В целом РНР прекрасно работает с любыми кодировками, которые используются для отображения русских букв, даже с теми адовыми костылями, которые используются в Микрософт Виндоус с середины конца прошлого века по сей день.

Для того чтобы убедиться в том, что РНР прекрасно работает с русскими буквами, надо создать скрипт test.php
<?php
header('Content-Type: text/html; charset=utf-8');
echo hex2bin('d0bfd180d0b8d0b2d0b5d182'); 
// текст UTF закодировн в hex чтобы избежать влияния кривых ручек тестировщика/выкрутасов Виндоус


перейти в папку с ним
запустить встроенный веб-сервер
php -S localhost:8081
и открыть в браузере адрес localhost:8081/test.php

И после этого разбираться с тем, как своя программа на модном языке сишарп не может прочитать русские буквы.

Судя по классической картинке, https://habr.com/en/post/147843/ где-то происходит перекодирование utf-8 -> 866(!)
Ответ написан
@pfg21
ex-турист
разобраться с локалями и настройками коде-пейдж

вар2: не использовать кирилицу без сильной на то нужды.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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