Oznámení
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.