Oznámení

Provoz fóra byl ukončen

iconv notice – detected illegal characters…

před 12 lety

juneau
Člen | 166

Texy2, PHP4, $texy->encoding = 'windows-1250'. Sice mi to nezpůsobuje žádné problémy, texty se uloží pravděpodobně správně, ale přesto mě zajímá, zda je tato noticka očekávatelná (trest za použití windows-1250), nebo jde o nějaký problém. Mám-li zadáno správné kódování, čekal bych, že iconv nebude při převodu protestovat. [konec příště použiji google dotazu ]

před 12 lety

David Grudl
Nette Core | 6806

Protestovat by neměl, ale napiš mi, o které volání iconv jde, na kterém řádku?

Nicméně, pokud děláš přenositelnou aplikaci, je lepší se iconv v PHP 4 vyhnout, tj. ve čtverce používat jen výchozí UTF-8.

před 12 lety

juneau
Člen | 166

Texy compact pro php4, řádek 141, rev 150.

před 12 lety

David Grudl
Nette Core | 6806

Tak tohle ničemu nevadí. Jen mě překvapuje, že jsem se s tím u žádné verze nesetkal…

před 12 lety

juneau
Člen | 166

Přešel jsem na hostingu na PHP5 a dělá mi to i nadále – Notice: iconv() [function.iconv]: Detected an illegal character in input string in texy.compact.5.php on line 250. Ale to je jen tak pro info. Dělá to u všech textů, takže problém ve vstupujících znacích asi nebude. Ani mě nenapadá, co bych mohl dělat špatně v implementaci. Nic než stripslashes a texy->proces(). E_ALL ^ E_NOTICE to vyřeší :)

před 12 lety

David Grudl
Nette Core | 6806

To vůbec se vstupním textem nesouvisí. Dělá to rutina, která se snaží „prozkoumat“ zvolené 8bitové kódování a zjistit, jaké znaky obsahuje. Protože jen ty znaky, které v kódování nejsou, budou nahrazeny entitami.

Přidám do Texy lokální potlačení chyb a bude zase dobře :-))

před 10 lety

michalh
Člen | 22

Mám stejný problém, Texy 2.0-beta revision 227 Compact hlásí notice na řádku 293
PHP 5.2.0 stránky bohužel win-1250

protože mám zaregistrovaný set_error_handler chyby jsou vidět (popravdě vidět nejsou ale logují se)

před 10 lety

David Grudl
Nette Core | 6806

Potom je ten error handler špatně napsaný. Error handler by měl začínat něčím takovým:

public static function errorHandler($severity, $message, $file, $line, $context)
{
    if (($severity & error_reporting()) !== $severity) {
        return NULL; // nothing to do
    }
    ...
}

před 10 lety

michalh
Člen | 22

Děkuji, opraveno.