logo
05.03.2019 08:56
1
Všiml jsem si, že tu řada uživatelů u svých příspěvků používá znaky otazníku. Dumal jsem proč a nyní vidím, že kdo je ve svém příspěvku má, toho text není vidět ve výpisu příspěvků.



Spoří někdo v Polsku?
Původně odeslal Tomas-S
Data jsem si nevsimnul ������
05.03.2019 09:30
2
Ty otaznicky jsou podle me smajlici z mobilu.
05.03.2019 09:56
3
Ano smajlíci z mobilu, vyzkoušeno několikrát.
05.03.2019 09:57
4
Aha, tak díky :)
05.03.2019 09:57
5
teď už tam je jen znak U+FFFD, tj. "corrupted sequence", na vstupu mohlo být cokoliv, děje se to při nesouladu kódování (utf-8, ucs2, utf-16, iso atd.), stejně tak při vkládání smajlíků (často jsou použity znaky z rozšířené či novější verze utf-8/16, které ještě na straně zpracovatele nejsou známy). Teď tam je 6 bajtů, to odpovídá nejspíš dvěma smajlíkům či třem z novější utf-8 revize.

Stránka webtrhu pracuje s utf-8, i v tomhle kódování jsou zpracovány formuláře. Nedokážu ze své pozice říct, co je uloženo v db, co přišlo od klienta a kdy dochází k téhle záměně, pouze vidím, že již odpověď ze serveru obsahuje tuhle corrupted sequence, tj. vidíme to všichni stejně špatně :).
05.03.2019 11:37
6
Aha, zajímavé, děkuji.
Podívám se na to.

Smajlíci na mobilu jsou normální multibytové UTF znaky, ne?
🤔

Hm, zkopírování z webu funguje.
05.03.2019 11:38
7
Hm, mohl by to být problém s AJAXovým odesíláním?
05.03.2019 11:38
8
Hm, mohl by to být problém s AJAXovým odesíláním?
🤨
05.03.2019 11:45
9
No vida, to by mohlo zpracováním příspěvku na přenos AJAXem.
Název:  utf-smilies-ajax.gif
Zobrazení: 41
Velikost:  13,5 KB

- Příspěvky poslané jako klasický POST z velkého formuláře se zobrazují správně
- AJAXová editace skončí na "malformed XML"
- POSTová editace smajlík nedeformuje
- AJAXové odesílání navíc možná zduplikuje příspěvek?
05.03.2019 12:19
10
smajlíci jsou validní 3 - 4 bajtové utf-8 znaky, s nevalidními se setkávám jen v Asii, kde mají hojně svoje znakové sady.

Ajax ze zkušenosti duplikuje pouze na klientu, po obnovenip stránky je to již ok, občas jsem se také divil.

Řada xml/json parserů si dělá hodně věcí po svém a je možné, že je chybná implementace, až budu mít okno, mohu mrknout jak frontend komunikuje. Problémy se smajlíky jsem hodně řešil na php 5.4 a starších, stejně tak v řadě python knihoven.
15.06.2019 11:08
11
Dostopoval jsem chybu do staré vBulletinní funkce pro kódování textu pro přenos AJAXem.
Už je to opravené.

Děkuji za nahlášení.
👍