30kmhcz

Vzkazy administrátorům => Vzkazy uživatelů administrátorům => Téma založeno: Behemot 04 Února 2018, 11:17:54

Název: Špatná počítačka znaků
Přispěvatel: Behemot 04 Února 2018, 11:17:54
Snažil jsem se vecpat něco delšího do podpisu a zdá se, že kalkulačka počítá špatně. Zobrazuje to přesně 300 znaků, ale podle Notepadu++ to je 327. Což pak i skript správně vyhodnotí a vyhodí chybu:

Citace
Nastaly tyto chyby při ukládání tvého profilu:
Váš podpis nemůže být delší než 300 zanků.

Název: Re:Špatná počítačka znaků
Přispěvatel: opas 04 Února 2018, 12:20:59
Že by vlastnost UTF-8?
Název: Re:Špatná počítačka znaků
Přispěvatel: jakubb 04 Února 2018, 22:52:43
Počítadlo ve fóru si tam umí poradit s většinou nadstandardů, včetně běžného UTF-8 (nativní podpora - JS interně používá UTF-16) a windows odřádkování (počítadlo ve fóru to ošetřuje). Trochu zvláštní skupinu tvoří novější emotikony, které jsou 3bytové, což překračuje možnosti Javascriptu v současných browserech.

Použil jste ve svém podpisu emotikony? Ty by to mohly rozbít. Pokud jsou moje doměnky správné a použil jste emotikony, navrhuji to vyřešit style „sestimsmiř“.
Název: Re:Špatná počítačka znaků
Přispěvatel: Behemot 04 Února 2018, 23:54:42
Nic takovýho.
Název: Re:Špatná počítačka znaků
Přispěvatel: jakubb 05 Února 2018, 00:54:28
Tak v tom případě poprosím, abyste sem vložil text, který jste chtěl dát do podpisu. Předpokládám, že byl-li určen do podpisu, byl tedy veřejný. Díky
Název: Re:Špatná počítačka znaků
Přispěvatel: Behemot 05 Února 2018, 22:28:31
Pokusím se to znovu vydumat, mmnt…

Tak podařilo se mi to opět podle karkulačky pokrátit na rovných 300, ve skutečnosti víc:
Citace
Ten, kdo umí, snadno poradí tomu, kdo neumí, či opraví rozbité věci, aby nadále sloužily. Nikoho neodmítne a s každou výzvou se zdokonaluje. Ten, kdo ví, je tak učitelem toho, kdo neví. A ten tak pro něj představuje lekci. Kdo si neváží učitele či nové lekce, bude bloudit, i kdyby byl sebechytřejší.
Asi je v tom fakt schovaná nějaká moudrost navíc  ;D
Název: Re:Špatná počítačka znaků
Přispěvatel: jakubb 06 Února 2018, 00:12:05
Tak už to mám – počítadlo na webu funguje správně. Problém je v tom, jak to počítá kontrola při ukládání do databáze. Zkusil jsem tam vložit Váš text a opravdu to vyhodilo chybu a ve formuláři to ořízlo o 23 znaků, což přesně odpovídá počtu skupin znaků s diakritikou.

Poprvé jsem kouknul do kódu fóra, je tam dost podivná konstrukce, která by asi má podle záměru autora počítat s UTF, ale tohle (https://github.com/SimpleMachines/SMF2.1/blob/ac85d8c0fb1b070aaabfe622cf02839682c7eafb/Sources/Load.php#L146-L149) je fakt dost šílený kód. Zkusím chybu nahlásit autorům fóra.

EDIT: Zkusil jsem to u sebe nasimulovat a kupodivu to funguje dobře. Ale je potřeba, aby fórum bylo nastaveno do kódování UTF-8 někde v nastavení, jinak to počítá s kovenčním kódováním, tedy blbě. Kde přesně se to nastavuje, to bohužel netuším, neznám administraci. Stejně tak netuším, co se stane, když by se teď fórum přenulo do jiného kódování, jestli to nerozbije něco jiného :-/
Název: Re:Špatná počítačka znaků
Přispěvatel: fu 06 Února 2018, 00:50:09
Tak necetl jsem cely kod, ale pokud je DB M-B, melo by stejne pocitat i pocitadlo, tedy M-B a nejak tam nevidim  mb_strlen()...patrne nejaka obezlicka kvuli php<4.3...uriznem to a dobry :D
Název: Re:Špatná počítačka znaků
Přispěvatel: Behemot 16 Února 2018, 07:44:30
 :o
Název: Re:Špatná počítačka znaků
Přispěvatel: jakubb 19 Února 2018, 16:35:43
Na Homepage je právě vidět, že Forum špatně ořízlo text v půlce vícebytového znaku.

Tak necetl jsem cely kod, ale pokud je DB M-B, melo by stejne pocitat i pocitadlo, tedy M-B a nejak tam nevidim  mb_strlen()

Jedna věc je mít dobře nastavenou databázi. Druhá věc je, jak je nastaveno fórum. Podle zdrojáků je zřejmě někde v nastavení UTF-8 vypnuto a fórum pak řetězce nezpracovává správně. Podle všeho to vypadá, že to bude tím.
Název: Re:Špatná počítačka znaků
Přispěvatel: dj-bobr 19 Února 2018, 17:02:29
Je zaplá podpora UTF-8 a zkonvertovaná databáse?

https://wiki.simplemachines.org/smf/UTF-8_Readme
Název: Re:Špatná počítačka znaků
Přispěvatel: frantisek 20 Února 2018, 08:16:59
Forum ma instalovany jazyk CZ v kodovani UTF8.
Prispevky a texty funguji korektne.

Do hlubin nastaveni jazykoveho balicku, pripadne do revize kodu se poustet nebudem #sorryjako ;)
Lidi, co to maji na starosti si hraji s dulezitejsimi vecmi a podpis, respektive jeho delka fakt neni priorita.