Перейти к содержанию
Fire Monkey от А до Я
  • 0

Кодировка строки. Delphi -> PHP Передача строки-кириллицы через IdHTTP1.Get


afors

Вопрос

Всем привет! Мучаюсь уже несколько дней, решил просить помощи...

ЦЕЛЬ: передать строку на PHP-сервер в интернете методом GET-запроса:  IdHTTP1.Get('.../rq.php?p=привет');

На той стороне сервер обрабатывает запрос и создает файл с нашим переданным текстом "привет"

Код для файла rq.php:

<?php
$fn = fopen('request', "a");
//открываем файл request, перезаписывая его
fwrite($fn, $_GET[p]);         //записываем в файл нашу строку, которая хранится в переменной p
fclose($fn);                          //закрываем файл
?>

Проблема с кодировкой. В созданном файле request русские буквы заменяются вопросительными знаками, получается ??????, с латиницей проблем нет.
Пытался принудительно выставить кодировку в PHP-файле, менять кодировку в Delphi, пока не нашел красивого решения. Временно использую функцию преобразования
строки в латиницу и обратно. 
Если делаю запрос с браузера, все работает, кодировка в созданном файле UTF-8 (размер файла не 6 байт, а 12, ну хотя бы так)

ВОПРОС: где и как преобразовать строку, в Delphi или rq.php ?

Буду признателен за любую помощь.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

предполагаю, что строка из делфи уходит в юникоде. хотя за инди не скажу точно. используйте THttpClient для определенности

так что все преобразования - на стороне сервера

Ссылка на комментарий
  • 0
23 минуты назад, krapotkin сказал:

предполагаю, что строка из делфи уходит в юникоде. хотя за инди не скажу точно. используйте THttpClient для определенности

так что все преобразования - на стороне сервера

Так и есть, спасибо большое. С THttpClient все получилось!

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...