Autor | Zpráva | ||
---|---|---|---|
loupak Profil * |
#1 · Zasláno: 6. 1. 2009, 17:39:07
Ahoj,
mam v databazi tabulku, ktera ma porovnani utf8_czech_ci. Skripty, ktere pisu v PHP, jsou taktez v utf-8. Na zacatku kazde stranky mam mysql_query ("SET NAMES utf8"); Kdyz pres php skript vkladam do databaze nejake data s diakritikou, tak se ř,ť,č,ů,ň,ě,ď nahradi otazniky. Kdyz najedu do PMA a opravim otazniky na spravne znaky, tak se to ulozi spravne. Predem dekuji za odpoved. |
||
tiso Profil |
#2 · Zasláno: 6. 1. 2009, 18:10:15
loupak - ešte si skontroluj hlavičku Content-type svojich php skiptov, či tam máš utf8
|
||
loupak Profil * |
#3 · Zasláno: 6. 1. 2009, 18:14:39
tam mam:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
||
tiso Profil |
#4 · Zasláno: 6. 1. 2009, 18:17:14
loupak - myslel som header, nie meta
|
||
grimword Profil |
#5 · Zasláno: 6. 1. 2009, 18:26:56
jestli to nahodou nekazi to tvoje mysql_query ("SET NAMES utf8"); - nepouzivam, jedu OK
|
||
loupak Profil * |
#6 · Zasláno: 6. 1. 2009, 18:33:26
tiso
Prosim jak to muzu zjistit? grimword tak jsem to smazal a problem porad stejny :( |
||
tiso Profil |
#7 · Zasláno: 6. 1. 2009, 18:38:09
loupak - napíšeš Ježiškovi a počkáš do Vianoc.
http://tools.webmasters.sk/header-viewer.php |
||
loupak Profil * |
#8 · Zasláno: 6. 1. 2009, 18:54:26
tiso
TEST-test: text/html; charset=ISO-8859-2 tak tady je asi chyba, muzu to nejak zmenit? .) |
||
bohyn Profil |
#9 · Zasláno: 6. 1. 2009, 19:05:23
loupak
header("Content-Type: text/html; charset=UTF-8"); |
||
loupak Profil * |
#10 · Zasláno: 6. 1. 2009, 19:59:52
tak jsem to daval na zacatek stranky, doprostred, pred vkladani do db a zase bez vysledky :( uz jsem docela marnej :( mate prosim jeste nejaky napad jak to napravit?
|
||
grimword Profil |
#11 · Zasláno: 6. 1. 2009, 20:47:01
a jake kodovani mas nastavene pro ten soubor? notepad defaultne nastavuje w1250
|
||
imploder Profil |
#12 · Zasláno: 6. 1. 2009, 20:55:33
Zkus dát na začátek
mysql_query("SET CHARACTER SET cp1250"); |
||
SwimX Profil |
#13 · Zasláno: 6. 1. 2009, 23:57:02
Řeším podobný problém.
meta - windows-1250 header: HTTP/1.1 200 OK Date: Tue, 06 Jan 2009 22:51:26 GMT Server: Apache/2.0.59 (Unix) Set-Cookie: PHPSESSID=389a6e51d5ccede9ac321db901ff2e3c; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Type: text/html imploder „Zkus dát na začátek mysql_query("SET CHARACTER SET cp1250");“ nepomohlo bohyn „header("Content-Type: text/html; charset=windows-1250");“ nepomohlo databáze - zprava text cp1250_czech_cs Ano NULL |
||
SwimX Profil |
#14 · Zasláno: 6. 1. 2009, 23:57:38
|
||
nightfish Profil |
#15 · Zasláno: 7. 1. 2009, 01:40:56
ihned za výběr databáze (jak do výpisu příspěvků, tak do přidávání) dej
mysql_query("SET NAMES 'cp1250'"); tabulce i sloupcům nastav porovnávání cp1250_czech_cs vymaž obsah tabulky s příspěvky a zkus vložit nový |
||
loupak Profil * |
#16 · Zasláno: 7. 1. 2009, 13:32:11
Tak jsem zmenil kodovani a pokazde kdyz vkladam, tak se do db ulozi "P?íliš žlu?ou?ký k?? úp?l ?ábelské ódy" chtel bych to mit uz v db ulozeno s dikritikou.
|
||
SwimX Profil |
#17 · Zasláno: 7. 1. 2009, 14:29:17 · Upravil/a: SwimX
nightfish
„(jak do výpisu příspěvků, tak do přidávání“ databázi vybírám jenom na začátku skriptu - pak už jenom posílám dotazy. takže stačí na začátek: $link = mysql_connect("localhost", "root", "") or die("Nelze se připojit: " . mysql_error()); mysql_select_db("diskuse") or die("Nelze vybrat databázi"); mysql_query("SET NAMES 'cp1250'"); ? „tabulce i sloupcům nastav porovnávání cp1250_czech_cs“ mám - dokonce i databázi „vymaž obsah tabulky s příspěvky a zkus vložit nový“ a ìšèøžýáí :( |
||
SwimX Profil |
#18 · Zasláno: 7. 1. 2009, 14:34:13 · Upravil/a: SwimX
přes phpmyadmin:
ALTER DATABASE `diskuse` DEFAULT CHARACTER SET cp1250 COLLATE cp1250_czech_cs ALTER TABLE `kniha` DEFAULT CHARACTER SET cp1250 COLLATE cp1250_czech_cs ALTER TABLE `kniha` CHANGE `datum` `datum` TEXT CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL ALTER TABLE `kniha` CHANGE `jmeno` `jmeno` TEXT CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL ALTER TABLE `kniha` CHANGE `email` `email` TEXT CHARACTER SET cp1250 COLLATE cp1250_czech_cs NULL DEFAULT NULL ALTER TABLE `kniha` CHANGE `zprava` `zprava` TEXT CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL TRUNCATE TABLE `kniha` php: header("Content-Type: text/html; charset=windows-1250"); // s tím i bez toho $link = mysql_connect("localhost", "root", "") or die("Nelze se připojit: " . mysql_error()); mysql_select_db("diskuse") or die("Nelze vybrat databázi"); mysql_query("SET NAMES 'cp1250'"); mysql_query("SET CHARACTER SET 'cp1250'"); $message = eregi_replace("\n", "<br>", htmlentities($_POST['zprava'])); $query = "INSERT INTO `kniha` (`id` ,`datum` ,`jmeno` ,`email` ,`zprava` ) VALUES ('', '".strftime("%d. %m. %Y (%H:%M)",strtotime("now"))."', '{$_POST['jmeno']}', '{$_POST['email']}' , '$message');"; $result = mysql_query($query) or die("Dotaz nelze provést: " . mysql_error()); mysql_close($link); html: <meta http-equiv="content-type" content="text/html; charset=windows-1250"> stránky index.php stejně jako diskuse.txt která je includována do indexu jsou uloženy s kódováním windows-1250 |
||
bohyn Profil |
#19 · Zasláno: 7. 1. 2009, 15:40:56
Zkus jeste tohle:
mysql_query("SET CHARACTER SET cp1250"); |
||
Kajman_ Profil * |
#20 · Zasláno: 7. 1. 2009, 15:43:16
A verzi mysql máte nainstalovanou stabilní?
|
||
SwimX Profil |
#21 · Zasláno: 7. 1. 2009, 15:44:03
bohyn
šèøžýáíé (upravil sem předchozí příspěvek o tento pokus) |
||
SwimX Profil |
#22 · Zasláno: 7. 1. 2009, 15:47:50
localhost
Verze MySQL: 5.0.41-community-nt Verze protokolu: 10 Server: localhost via TCP/IP Uživatel: root@localhost Znaková sada v MySQL: UTF-8 Unicode (utf8) Porovnávání pro toto připojení k MySQL: cp1250_czech_cs phpMyAdmin - 2.10.1 Verze MySQL klienta: 5.0.41 Použitá rozšíření PHP: mysql Jazyk - Language : Český - CZECH |
||
Časová prodleva: 3 dny
|
|||
loupak Profil * |
#23 · Zasláno: 10. 1. 2009, 16:20:38
Ja to vyresil tak, ze jsem vytvoril novou databazi s porovnanim v utf8, vsechny tabulky a sloupce jsem dal taktez do utf8 a odted se mi to tam vklada krasne s diakritikou a krasne se to z ni i cte. Ani nemusim pouzit mysql_query("SET NAMES 'cp1250'"); ci mysql_query("SET CHARACTER SET 'cp1250'");
|
||
imploder Profil |
#24 · Zasláno: 10. 1. 2009, 17:25:17
loupak
porovnávání si ověř jestli je správně, pro češtinu musí být utf8_czech_ci |
||
Časová prodleva: 15 let
|
0