Instaloval jsem na localhost TextPattern rc3 + dle návodu Texy! rc5 plugin pro TP … i když je tato verze asi primárně určena pouze pro TP rc1. Vpodstatě vše funguje vpořádku a u vygenerovaných stránek z TP např. při psaní komentářů funguje Texy! naprosto vpořádku včetně diakritiky. Problém nastává v „prostředí“ TextPattern kde při psaní článku a následném uložení dochází u diakritiky k následující podivnosti
napsaný text:
aáÁ cčČ dďĎ eěéÉĚ iíÍ nňŇ oóÓ rřŘ sšŠ tťŤ uúůÚŮ yýÝ zžŽ
po „Uložit“ (článek)v textpattern dostanu:
aá�? c�?Č d�?Ď eěéÉĚ ií�? nňŇ oóÓ rřŘ sšŠ tťŤ uúůÚŮ yý�? zžŽ
nebyl by prosím nějaký nápad kam se podívat, případně co nastavit
Děkuji
Editoval lucky (24. 5. 2005 10:02)
Offline
Zkus se podívat, jaké máš kódování (v IE menu Zobrazit/Kódování). Mělo by tam být UTF-8.
Offline
Omlouvám za mystifikaci a omlouvám se Texy! i autorovi, protože stejné chvání vykazuje i „holý“ textpattern takže toto chování nemá nic společného ani s Texy! ani s Textpattern. Měl jsem na lokále nainstalovanou MySQL 4.1.x a mám pocit že i od této verze výše se toto chování projevuje. I když je vše nastavené na UTF-8 včetně níže ve scriptu zmíněného SET NAMES ‚utf8‘, MySQL diakritiku ‚zprasí‘ tak, jak jsem napsal výše. Nepodařilo se mi češtinu rozchodit správně bez toho, abych po connect SET NAMES ve scriptu nastavil, tedy na nastavení v my.ini MySQL nereaguje. Pokud tedy v níže uvedeném příkladu zakomentujete SET NAMES tak čeština fungovat nebude. Je-li zde někdo, komu se to podařilo nastavit někde v ini budu za komentáře vděčný. (Pokud jsem právě objevil nějaký světadíl tak se omlouvám.) V Textpattern už potom stačí SET NAMES doplnit do funkce DB v txplib_db.php a vše funguje. (Testváno s MySQL 5.0.4-beta-nt)
<?php
print <<<eod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Textpattern > setup</title>
</head>
eod;
mysql_connect('localhost','root','******');
mysql_select_db('test');
//set character sets
mysql_query("SET NAMES 'utf8'");
mysql_query("CREATE TABLE `test` (
`name` varchar(255) default NULL,
KEY `name` (`name`)
) TYPE=MyISAM");
mysql_query("DELETE FROM `test`");
mysql_query("INSERT INTO `test` VALUES ('Diakritika aáÁ cčČ dďĎ eěéÉĚ iíÍ nňŇ oóÓ rřŘ sšŠ tťŤ uúůÚŮ yýÝ zžŽ ')");
if ($result = mysql_query("SELECT `name` FROM `test` order by `name`"))
{
while ($row = mysql_fetch_row($result))
echo $row[0]."<br>";
mysql_free_result($result);
}
?>
Offline
zkusil bych jeste dalsi prikazy nez jen SET NAMES. viz pipni forum
Offline
Reklama: Školení PHP | Magento