TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
Insomnia i dane UTF-8 , Raffi 10/10/20 10:40 Witam,
Polecono mi program Insomnia Core aby zasymulować Web Service na REST i POST z danymi w JSON.
Wszystko pięknie działa do momentu jak nie wprowadzę polskich albo ruskich znaków. Wtedy w systemie odbierającym dostaję klasyczne krzaki. System odbierający dane w pełni zgodny z UFT-8. Odpowiedź do Insomnia przychodzi w polskimi znakami w UTF-8.
Czy muszę w pliku JSON jakoś zaznaczyć, że Insomia ma to wysłać w UTF-8?
struktura JSON
{
"NAZWA1": "test1",
"NAZWA2": "test2",
"NAZWA3": "test3",
"NAZWA4": "test4",
"WP": "testwp",
"LOT": "151231",
"ZT421": "ZT421"
}- utf-8 , wrrr 10/10/20 10:58
1. upewnij sie przy pomocy notepada++ (ew. innego narzedzia jakiego uzywasz) ze eksportowany JSON ma rzeczywiscie UTF-8 (moze cos sie przestawilo w ustawieniach i masz cos innego) - majac polskie znaki w tym pliku bedziesz rodzaj kodowania widzial w prawym dolnym rogu
2. jesli ma UTF-8, to moze sproboj jeszcze nadac BOM (convert to utf-8 bom, rowniez w n++) na JSONa i wtedy zaimportowac- sprawdzone N++ , Raffi 10/10/20 11:09
i jest tak samo.
odbieram krzaki dla UTF-8 i UTF-8 BOM
to moje pierwsze podejście do JSON. Wcześniej robiłem to w XML i było OK ale tam jest deklaracja UTF-8- ansi , wrrr 10/10/20 12:00
mozesz jeszcze poprobowac przelaczac zestawy znakow w tym samym menu n++ (podmenu character sets czy jakos tak) co zmieniales utf-8/bom, zeby upewnic sie w czym to jest wygenerowane (nie jest jeszcze powiedziane ze masz bezpowrotnie walniete znaki), bo moze eksportuje ci np. win-1250 (poznasz jak krzaczory zmienia sie w ąęć czy co tam oczekujesz) i wystarczy po podlozeniu tego zestawu znakow konwertnac do UTF-8 i je utrzyma (konwersja bez widocznych znakow, czyli podstawionej wlasciwej mapy, utrwala krzaki na stale...)
tak czy siak, powyzsze to tylko obejscie problemu, musisz na spokojnie przejrzec ustawienia programu z ktorego wypluwasz jasona, bo tam cos idzie nie tak (jak sie dokopiesz to najlepiej przestaw na utf-8 z bom, wtedy nie bedzie problemow z detekcja w roznych softach)- notka , wrrr 10/10/20 12:04
wiem ze to oczywiste, ale wole jeszcze dodac: wszystkie dalsze zabawy rob na nowym eksporcie, bo po konwersji co probowales wczesniej masz znaki zajechane bezpowrotnie ;) - wszystko jasne , Raffi 10/10/20 13:10
ale robię to też dla ruskich znaków i one nie pociągną w cp1250
czyli jest utf-8 na 100% w N++ i takie coś kopiuję do Insomnia do sekcji JSON oraz ustawiam POST i wysyłam. No i dostaję krzaki w integracji z pakietu BarTendera (to taki middleware do wydruku etykiet z kodami) który ma 100% wsparcie UTF-8.
Nie z tego nie rozumiem gdzie jest błąd.
Najbliżej do braku jakiegoś nagłówka w pliku JSON ale nie mogę nic takiego znaleźć w wujku G.
Coś jak ma XML- Logicznym wnioskiem jest , Bitboy_ 10/10/20 13:24
że to Insomnia pierniczy coś. Nie znam się na JSON, UTF ani XML, ale logika to moja biblia, i taki wniosek mi się nasuwa czytając to ;)
9600K@4.6,AorusEliteZ390,CryorigR1
Ultimate,GskillRipJawsV360016GB,AsusGTX1070
,FraDesION660P - w sumie to może być , Raffi 10/10/20 13:27
poszukam czegoś innego i zobaczymy- jako alternatywy , Raffi 10/10/20 15:01
użyłem soapui
Niestety efekt ten sam czyli krzaki :(
- ale wysyłasz surowe teksty w utf-8 czy w jsonie są escape'owane? , Grocal 10/10/20 15:19
Nie podałeś przykładu, ale np. jak chcesz jsonem wysłać wartość "Zażółć" to będzie wyglądało tak:
{"field1":"Za\u017c\u00f3\u0142\u0107"}Na pewno, na razie, w ogóle...
Naprawdę, naprzeciwko, stąd...
Ortografia nie gryzie! - już znalazłem :) , Raffi 10/10/20 15:32
trzeba ręcznie dopisać do nagłówka
application/json; charset=utf-8
i wtedy idzie w UTF-8 bez escape - to ja wykopię staroć "Kiedy nie ma JSONa" , DrLamok 10/10/20 21:20
https://www.youtube.com/watch?v=b4QDxoWlPFw |
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|