Úvodní stránka › Fórum podpory WordPressu › Šablony, CSS (zobrazení webu) › Čeština v šabloně
Štítky: Diakritika, kódování, Onebit, Rainforest
Zvolené téma obsahuje celkem 6 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel jan.rok a poslední změna je stará 7 let, 8 měsíců.
-
AutorPříspěvky
-
31. května 2017 (21:34) #32745
Dobrý den,
používám na aktuálním WordPressu šablonu Rainforest, která využívá Open Sans font.Font se načítá ve function.php:
function rainforest_scripts() { wp_enqueue_style( 'rainforest-style', get_stylesheet_uri() ); wp_enqueue_style( 'rainforest-googlefonts', 'https://fonts.googleapis.com/css?family=Open+Sans&subset=latin,latin-ext', false ); wp_enqueue_script( 'rainforest-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery' ), '20151215', true );
Přesto, že font je načten s rozšířenou znakovou sadou, nezobrazuje se na stránkách a příspěvcích správně čeština – ale zvláštně: písmena s háčky se zobrazí, s čárkami ne – místo nich je zde jen kosočtverec s otazníkem. Ale např. nadpisy článků jsou správně.
Problémy s češtinou jsou popisovány na v diskusích přesně obráceně: zobrazí se čárky, nezobrazí se háčky.
s jinými weby na tomto hostingu problém není.Prosím o radu, na co se zaměřit, kde hledat chybu.
Díky moc. J.R.
Web je hostován na OneBit. Na lokální instalaci je čeština správně.31. května 2017 (22:26) #32748Je možné to někde vidět? Kosočtverce s otazníkem jsou většinou spíše problémem kódování databáze a nikoli konkrétního fontu… Když se podíváte do databáze (tabulka
wp_posts
), tak tam je obsah uložen správně s diakritikou?1. června 2017 (11:58) #32752V tabulce wp_post je to správně (kontrolováno phpmyadminem).
K vidění zde: http://lucka.ikalbc.cz/ent-future/wordpress/cs/cile-projektu/
Databáze ikalbccz3: porovnávání utf8_czech_ci
Tabulky mají porovnávání utf8_general_ci
V tabulce options: blog_charset=UTF-81. června 2017 (13:46) #32754A když zkusíte přepnout na defaultní šablonu Twenty Seventeen? A pro jistotu deaktivovat i všechny pluginy? Díval jsem se na web a podle mě to nemá s fontem nic společného…
1. června 2017 (13:56) #32756V defaultní šabloně je to OK. Pluginy jsou vypnuté, je to “holá” instalace.
Podle mého je problém na hostingu.
Porovnávám Onebit (kde to nefunguje) a Česky hosting (kde to je ok).Může být problém v nastavení php.ini, kde u Onebitu je parametr “default_charset=no value”, zatímco jinde je default_value=”UTF-8″?
V obou případech jsem založil DB s collation utf8_czech_ci. Ale po instalaci WordPressu mají všechny vytvořené tabulky řazení utf8_general_ci, zatímco na funkčním hostingu mají utf8mb4_unicode_ci.
Že by byl problém zde?1. června 2017 (15:10) #32757Problém bude podle mě někde tady. Nevím, proč to tam přesně autoři šablony Rainforest mají, ale nejdříve sice převedou obsah na HTML entity pomocí
htmlentities()
s kódováním utf-8, ale když to potom vrací zpět, tak to funkcehtml_entity_decode()
nezvládne. Patrně to i nějak souvisí s nastavením serveru…Zkuste změnit řádek 167:
$content = html_entity_decode( $content );
na:
$content = html_entity_decode( $content, ENT_QUOTES, 'UTF-8' );
Případně zkuste odpojit celý filtr:
add_filter( 'the_content', 'rainforest_remove_forced_spaces', 9 );
zakomentováním:
// add_filter( 'the_content', 'rainforest_remove_forced_spaces', 9 );
Uvidíte, jestli něco z toho pomůže…
1. června 2017 (15:37) #32758Díky za rychlou a hlavně účinnou analýzu!!!
Pomohlo upravit řádek 167, jak píšete.Jak jsem psal výše, s nastavením serveru na hostingu to zcela jistě souvisí, protože jsem to zkoušel na jiném hostingu, kde tento problém není. S podporou Onebitu jsme to konzultovali, ale řešení nám nenašli, až vy.
Samozřejmě výše popsané úpravy budeme muset udělat v odvozené šabloně, aby i to aktualizace nevrátila zpět.
Ještě jednou velké díky. Jan Rok
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.