Autor | Zpráva | ||
---|---|---|---|
juriad Profil |
#1 · Zasláno: 31. 3. 2022, 11:50:58
Postup:
1) Nakopíruj toto do HTML 2) Ulož a získej odkaz 3) Pouze prvních 8 řádek je uložených, viz: Živá ukázka <table> <tr> <th> Capability </th> </tr> <tr> <td class=cap> <span class=name>Owner</span> </td> </tr> </table> Vypadá to, že se to rozsype přesně tam, kde je ten symbol korunky: www.utf8icons.com/character/128081/crown. Když ji nahradím za HTML entitu, tak to funguje: Živá ukázka Podle mě to je způsobené tím, že ta ikonka je uložená pomocí 4 bytů v UTF-8 kódování (viz tabulka dole na unicode-table.com/en/1F451) Pokud se ukázky ukládají do databáze a je to MySQL a znaková sada je utf8 a nikoli utf8mb4 , tak bych čekal podobné problémy.
Pokud se nemýlím, tak za tím je Strawberry, ale ten už tu měsíc nebyl. A rovnou nahlašuju, že i tady se korunka neuloží správně, takže si místo dvou otazníků představte pěknou zlatu korunku posázenou drahokamy (a toto je asi poprvé od diktátů na střední škole, kdy jsem napsal slovo "drahokamy"). Alespoň to však neshltne zbytek příspěvku. |
||
Časová prodleva: 15 dní
|
|||
Str4wberry Profil |
#2 · Zasláno: 15. 4. 2022, 18:56:39
Je to
utf8_general_ci .
Na hostingu je MySQL 5, kde asi utf8mb4 není.
Musel bych to asi přestěhovat někam jinam :-( Koukám, že je problém jakékoliv emoji . A obdobný problém má i tato diskuse. |
||
Kajman Profil |
#3 · Zasláno: 15. 4. 2022, 19:33:08
Diskuse má jiný. Zde je iso-8859-2.
|
||
Časová prodleva: 4 dny
|
|||
Str4wberry Profil |
#4 · Zasláno: 19. 4. 2022, 16:07:01
Jo, tady se to nezobrazí, ale aspoň to nezruší zbytek obsahu.
Rád bych to opravil, ale bylo by dost pracné to zmigrovat. Nevím, jestli to má pro těch pár desítek lidí, co tam denně chodí, úplně smysl. |
||
Kajman Profil |
#5 · Zasláno: 20. 4. 2022, 09:12:55
Str4wberry:
„Na hostingu je MySQL 5, kde asi utf8mb4 není.“
Od mysql verze 5.5.3 by měl být tento charset k dispozici. Tady na diskusi to vypadá, že to poláme javascript. Když se totiž vypne a nechá se prohlížeč, aby převedl znak na html entitu, tak se převede správně - 👑. |
||
Časová prodleva: 15 dní
|
|||
_Jan Tvrdík Profil * |
#6 · Zasláno: 4. 5. 2022, 22:03:12
Kajman:
Nevím jestli to někdo zvládne nasadit, ale tahle úprava by to měla opravit. Surrogate vzorce jsou z en.wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates var encodeURIComponent = (function() { var euc = encodeURIComponent; var latin2 = " Ą˘Ł¤ĽŚ§¨ŠŞŤŹŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"; return function(string, encoding) { if(encoding && encoding.toLowerCase() == "iso-8859-2") { return string.replace(/\r?\n/g, "\r\n").replace(/([\u0000-\u007F]+)|([\uD800-\uDBFF][\uDC00-\uDFFF])|[\u0080-\uFFFF]/g, function(m, m1, m2) { if(m1) return euc(m); if(m2) return "%26%23" + (0x10000 + (m2.charCodeAt(0) - 0xD800) * 0x400 + m2.charCodeAt(1) - 0xDC00) + "%3B"; var p = latin2.indexOf(m); if(~p) return "%" + (p + 160).toString(16); return "%26%23" + m.charCodeAt(0) + "%3B"; }); } return euc(string); }; })(); |
||
Kajman Profil |
#7 · Zasláno: 6. 5. 2022, 20:45:26
Jan Tvrdík:
Výtečně, nasazeno zatím do sandboxu. Můžeš si nasadit 👑. |
||
Časová prodleva: 2 roky
|
0