У Юніті, коли відправляєш запит через HttpRequest, виникає така помилка:
Illegal byte sequence encounted in the input.
Після ретельного пошуку я знайшов, що більшість відповідей вказують на те, що проблема виникає через наявність корейських символів у шляху до проекту.
Оскільки ім’я користувача було англійським, це не була причина, і в результаті пошуків я дізнався, що під час HttpRequest використовуються імена хостів.
Знайшов функцію, що отримує ім’я локального хоста = ім’я пристрою, і дізнався, що у інших людей все працює добре, а на моєму комп’ютері виникає помилка.
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
void Start() {
Debug.Log(System.Net.Dns.GetHostName());
}
}
ExecutionEngineException: String conversion error: Illegal byte sequence encounted in the input.
Коли я перевірив пристрій, то виявив, що він має ім’я, яке містить корейські символи, "내PC" (Мій ПК).
Коли я виконав DNS.GetHostName, то результат був таким:
Це спрацювало.
Так чи інакше, я з’ясував, що помилка виникає, коли ім’я містить корейські символи.
Додатково я помітив, що навіть якщо в шляху до Юніті є пробіли в таких директоріях, як Program Files, чи корейські символи, помилка не виникає.
Перекладено з: C# HttpRequest Illegal byte sequence encounted in the input. 에러