PHP: ударные символы в командной строке Windows

0

В конечном итоге у меня есть база данных MySQL, к которой я подключаюсь, но для ясности я воспроизвел эту проблему только с помощью командной строки Windows. Просто запустите эту команду:

php -r "echo 'á' . PHP_EOL;"

И выход заканчивается " ß ", а не " á ", как я ожидал. Я уверен, что это какая-то проблема с кодировкой, но PHP не является моим "родным" языком, и я действительно смущен тем, что здесь происходит.

Спасибо за любое разъяснение, которое вы все можете дать.

Версия PHP: 5.5.11

  • 0
    В какой кодировке находится php файл? Это, скорее всего, многобайтовый символ / символ части и должен быть в кодировке UTF8. Вот рабочий пример
  • 4
    Файл PHP имеет другую кодировку, чем командная строка Windows. Не дубликат, но связанный: какую кодировку / кодовую страницу использует cmd.exe
Показать ещё 1 комментарий
Теги:
character-encoding

1 ответ

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

В командной строке Windows команда "chcp" управляет "кодовой страницей". chcp 65001 предоставит utf8, но, похоже, также требуется специальная кодировка. Чтобы установить шрифт в окне консоли: Щелкните правой кнопкой мыши заголовок окна → Свойства → Шрифт → выберите Lucida Console.

Дополнительные проблемы с набором символов (в основном связанные с MySQL) обсуждаются в http://mysql.rjweb.org/doc.php/charcoll

Ещё вопросы

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