Мы работаем над приложением, которое в значительной степени опирается на стабильную связь и передачу данных между C# и Php. < /p>
План: < /strong> < /p>
Создание применения рабочего стола в C#, в котором мы можем редактировать значения, которые возвращаются путем выполнения запроса API на сервер PHP. /> Проблема
При отправке значений, которые содержат специальные символы, например: é на PHP, используя класс C# RestClient , мы обнаружили, что после достижения PHP API было изменено, например: é . Это связано с кодированием персонажа, PHP API использует UTF-8 < /code>, а C# использует UTF-8 < /code> для того, чтобы мы знаем.
Мы работаем над приложением, которое в значительной степени опирается на стабильную связь и передачу данных между C# и Php. < /p>
[b] План: < /strong> < /p> Создание применения рабочего стола в C#, в котором мы можем редактировать значения, которые возвращаются путем выполнения запроса API на сервер PHP. /> Проблема [/b] При отправке значений, которые содержат специальные символы, например: é на PHP, используя класс C# RestClient , мы обнаружили, что после достижения PHP API было изменено, например: é . Это связано с кодированием персонажа, PHP API использует UTF-8 < /code>, а C# использует UTF-8 < /code> для того, чтобы мы знаем.[code]string tmp = JsonConvert.SerializeObject(deelname); client = new RestClient((local) ? "http://rotserver" : "https://registrations.roundtexel.com/"); var request = new RestRequest((local) ? "?action=deelname" : "api/bewerk", Method.POST); request.AddParameter("username", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes(User)) : User); request.AddParameter("type", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes("deelname")) : "deelname"); request.AddParameter("inschrijf_id", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes(inschrijf_id)) : inschrijf_id); request.AddParameter("stuurman_id", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes(stuurman_id)) : stuurman_id); request.AddParameter("bemanning_id", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes(bemanning_id)) : bemanning_id); request.AddParameter("voertuig_id", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes(voertuig_id)) : voertuig_id); request.AddParameter("boot_id", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes(boot_id)) : boot_id); request.AddParameter("content", (local) ? Convert.ToBase64String(Encoding.UTF8.GetBytes(tmp)) : tmp); IRestResponse response = client.Execute(request); < /code>
часть PHP /API кода: < /p> public function __construct() { $this->db = new PDO('mysql:host=localhost;dbname=xxxxxx', 'xxxxxx', 'xxxxxx'); $this->db->exec("SET names utf8;"); }