Otrzymałem parametry w webapi, a następnie wstawiłem je do bazy Oracle i na początku myślałem, że to problem z kodowaniem bazy Oracle Database.
Po dokładnym przemyśleniu, dlaczego używam wtyczki Google do przeglądarki, żeby opublikować mój interfejs – po chińsku nie ma zniekształconych znaków????
Metoda, którą sam napisałeś, jest zniekształcona???????
Zacznij debugować i okazuje się, że metoda posta, którą napisałeś, była zniekształcona, gdy API ją otrzymało.
Więc to nie problem z kodowaniem wyroczni.
Skąd się wzięła???
Problem polega na tym:
Nagłówek ContentType http nie określa formatu kodowania, chociaż używamy kodowania utf-8 do przesyłania przeszłości, ale API nie wie, jaki format kodowania posiadasz.
Dlatego API jest dekodowane zgodnie z domyślnym obszarem kodowania, co skutkuje zniekształconymi znakami chińskimi.
Oto jak to naprawić:
byte[] bs = Encoding.UTF8.GetBytes(param); Tutaj do zmiany,
Następnie dodaj "; charset=UTF-8"。
|