PHP min. 5.6.8MySQL min. 5.1Apache min. 2.0
PHP-Fusion 9 Jádro
v9.0
Český překlad
Pravidelně aktualizovaný

Technologie

Jak opravit hlášku: Došlo k chybě utf8

Jak opravit hlášku: Došlo k chybě utf8
Při kontrole validace na vašem webu, se může objevit místo výpisu stránky tato hláška: range'>Došlo k chybě: utf8 "\ XC3" není mapováno na Unicode. Tuto chybu jsme měli také nějaký ten týden na našem serveru, takže nebylo možné zjistit validátorem celkový počet chyb na naší HomePage. Jak jsem tento error odstranil?

Při kontrole validace na vašem webu, se může objevit místo výpisu stránky tato hláška: range'>Došlo k chybě: utf8 "\ XC3" není mapováno na Unicode. Tuto chybu jsme měli také nějaký ten týden na našem serveru, takže nebylo možné zjistit validátorem celkový počet chyb na naší HomePage. Jak jsem tento error odstranil?

Hláška se projevovala takto:

Sorry, I am unable to validate this document because on line 866 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication. The error was: utf8 "\xC3" does not map to Unicode.

Sdělovala, přeloženo zkráceně, že nelze ověřit dokument webu, protože na lince 866 je v obsahu jeden nebo více bajtů, které se nemohu interpretovat jako UTF-8. Chybová hláška říká, že došlo k chybě při překódování unicode textu, a že ascii kodek nemůže překódovat znaky na pozici 0 až 8. A tak pokud text z unicode nepřekódujeme my, pak se o to pokusí programovací jazykl Python. Jenže ten jako cílové kódování použije výchozí kódování Pythonu, které je přednastaveno na ASCII. A v tom je ten rozpor.

Řešení

  • První řešení spočívá ve změně výchozího kódování stránky, na němž se chyba projevuje, což je poněkud koplikované. V našem případě to bylo u KLomentáře pod článekem, kde se chyba projevila špatným znakem pro českou diakritiku (tzv. optazníkem,).
  • Druhé řešení chyby se dá provést převedením stránky, na níž se chyxba projevuje do utf-8 v kódu Python takto:
    >>> type(utext1)
    <type 'unicode'>
    
  • Nyní si vypíšeme na Terminálu kontrolu, jak převod dopadne:
    >>> print utext1
    ěščřžýáíé
    

Takže, nyní validátor opět errors také na naší HomePage zobrazuje, a také na dalších stránkách. Přiznávám, je jich relativně ještě dost (42), způsobené "ID menu wrap". Takže, zjišťujeme příčinu a samozřejmě chybu odstraníme. Stalo se! Jak se můžete přesvědčit, chyby již validator W3C na našem serveru nehlásí!


Autor: Květoslav (Kvido) Vícha PC-politika.cz

Kvido 17.05.2015 10:27 906 0 komentářů

0 komentářů

Zanechat komentář

Přihlaste se, abyste mohli zveřejnit komentář.
  • Žádné komentáře byly zveřejněny.
Nejnovější témata fóra
  Vlákno Zobrazení Odpovědi Poslední příspěvek
tabulka pre mobilnu verziu
v Pomoc
15 1 RobiNN
14-08-2018 11:53
odstranenie panelov [Vyřeše...
v PHP-Fusion 9.0.3
330 15 RobiNN
14-08-2018 11:50
cukanie menu [Vyřešeno]
v Infuze, panely, vzhledy
228 28 Kvido
14-08-2018 04:50
Šablony mailov
v Administrace nastavení
31 2 Balin50
13-08-2018 16:53
Kontrola webu
v Obecná diskuse
102 3 jany
10-08-2018 09:27
Viac odkazov v menu pod hla...
v Infuze, panely, vzhledy
72 2 jany
09-08-2018 20:20
Zmena obrazku v hlavicke [V...
v PHP-Fusion 9.0.3
127 7 jany
05-08-2018 22:06