Nejste přihlášeni
Stránky 1
Velmi dlouho jsem měl v *.htaccess souboru vloženou direktivu, která zajistila, že všechny soubory byly nuceně v ISO-8859-2. Takže i výstup z AJAXu byl automaticky v této znakové sadě, aniž by bylo nutné použít funkci iconv.
Jenže po zrušení možnosti použít tuto direktivu, se v AJAXové části, která mi vypisuje vybrané údaje z počítadla přístupů, znaková sada rozhodila. A když použiju iconv, abych výstup převedl na zvolenou znakovou sadu, do javascriptové části nepřijde žádný text k zobrazení.
Tohle je kód použití fce iconv.
echo iconv("utf-8", "iso-8859-2", $Text -> Vypis());
A tohle je kód fce Vypis
public function Vypis()
{
return implode('', self::$Text);
}
Tedy vůbec netuším, proč text neprojde přes fci iconv.
prezentace: amavetmost.4fan.cz
soubory: AJAX/Statistiky.js, Statistiky.php, Sablony/SablonaHtml_InfoStatistiky.php
Abych viděl ty statistiky přístupů, tak jsem samozřejmě použití fce iconv zase zrušil.
Offline
Syntax funkcie iconv je správne, aj parametre. Ste si istý, že metóda Vypis() naozaj vráti hodnotu? Skúšali ste to aj bez iconv len čisto:
echo $Text -> Vypis();
?
Upravil Lkopo (2014-02-03 19:27:58)
Portfólio
E-mail: eduard(at)karpiel.sk
Offline
Právě že forma
echo $Text -> Vypis();
je původní.
Kdyby metoda Vypis() nevrátila hodnotu, neexistoval by žádný text, který se (jinak) zobrazí.
Ale už jsem problém vyřešil. Napadlo mne totiž, v průběhu psaní tohoto příspěvku, že by použití
header('Content-type: text/plain; charset=iso-8859-2');
místo původního
header('Content-type: text/plain');
nemuselo vadit. A ono skutečně nevadí. Takže znaková sada už je zase OK.
Upravil VaclavMacurek (2014-02-03 20:35:33)
Offline
Stránky 1