s2d1ent
@s2d1ent
Студент

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

Пишу простенький вэб-сервер на C#, как свой проект в колледже, и столкнулся с такой проблемой, что когда мое ПО посылает файл интерпретатору php с кириллицей, он мне выводит разные кроказябры, если я ему говорю что файл находится по пути, где есть кириллица, то он отказывается работать с этим файлом. Как можно решить эту проблему?
Zi1k5Jts54I.jpg?size=1920x673&quality=96&sign=c1d0fae8a1234f179eb5a3f3fd85ea44&type=album
  • Вопрос задан
  • 436 просмотров
Решения вопроса 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: не использовать кирилицу без сильной на то нужды.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽