Prejel sem parametre v webapi in jih nato vnesel v Oracle bazo podatkov, sprva pa sem mislil, da gre za problem kodiranja Oracle baze podatkov.
Ko sem dobro premislil, zakaj uporabljam Googlov vtičnik za brskalnik za objavo svojega vmesnika, kitajsko ni popačenih znakov????
Način, kako si si napisal objavo, je nerazumljiv???????
Začni z odpravljanjem napak in ugotovi, da je bila metoda objave, ki si jo napisal, popačena, ko jo je API prejel.
Torej to ni problem pri oraklskem kodiranju.
Od kod prihaja???
Težava je:
ContentType http glava ne določa kodnega formata, čeprav uporabljamo utf-8 kodiranje za pošiljanje preteklosti, vendar API ne ve, kakšen format kodiranja imate.
Zato je API dekodiran glede na lastno privzeto območje kodiranja, kar povzroči popačene kitajske znake.
Tukaj je, kako to popraviti:
byte[] bs = Encoding.UTF8.GetBytes(param); Tukaj za spremembo,
Nato dodajte "; charset=UTF-8"。
|