Stránka: 1 z 1
| [ Príspevkov: 28 ] | |
Autor | Správa |
---|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
Zdravim, mam nasledovny problem, urobil som si nasledujucu tabulku forum Kód: CREATE TABLE `xxx`.`forum` ( `number` TINYINT NOT NULL AUTO_INCREMENT , `nick` VARCHAR( 25 ) CHARACTER SET utf8 COLLATE utf8_slovak_ci NOT NULL , `text` TEXT CHARACTER SET utf8 COLLATE utf8_slovak_ci NOT NULL , `date` VARCHAR( 18 ) CHARACTER SET utf8 COLLATE utf8_slovak_ci NOT NULL , PRIMARY KEY ( `number` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_slovak_ci
Ako vidite vsetky mozne parametre som nastvil na utf8_slovak_ci kodovanie, avsak udaje sa do databazy ukladaju aj tak bez makcenov, resp. dlznov. Skusil som si za INSERT query v PHP vypisat co sa mi tam uklada a dalo mi to aj makcena aj dlzne, chyba je teda kdesi medzi PHP a MySQL, neviete co s tym?
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Kód: SET NAMES 'utf8'; na začiatok skriptu
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
Nie som si celkom isty ako si to myslel, ale ked som to jednoducho pridal pred CREATE TABLE, nefungovalo to
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
vytvorenie tabulky mas dobre, ale ked uz pises php skript a zavolas mysql_pconnect, tak este zato dohod toto:
Kód: mysql_query('SET NAMES UTF8'); mysql_query('SET COLLATION_CONNECTION=UTF8_SLOVAK_CI');
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
mysql_query("SET NAMES 'utf8'");
_________________ C#, PHP, ... |
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Tie kódy spôsobia, že všetok výstup z db sa zmení na utf8?
|
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
no pred par dnami som sa stretol s presne tzmto problemom a ten spociva v tom , ze nastavenie utf_slovak_ci je aplikovane az na tie zaznamy, ktore si vlozil po tomto prestavenni kodovania
_________________ kdo si hraje nezlobi |
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
tie kody mysql_query("SET NAMES 'utf8'"); pred SELECTom nefunguju. Este jedna poznamka, ked tam ukladam nejaky text s makcanom ci dlynom, ulozi sa len po prvy znak s diakritikou, tj. ked napisem Skúška, ulozi sa len Sk. Takisto ked cez phpMyAdmina pridam tu diakritiku natvrdo do databazy, vypise to nejake paskvil: Skúška alebo tak cosi. Cize chyba je pravdepodobne pri odosielani aj pri vypisovani dat. V databaze to vyzera v pohode, ked to tam cez myAdmina hodim vyzera to v pohode.
|
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
prehliadac, alebo ked to davas vypisovat pomocou PHP , tak si pozri , ci mas nastaveny charset v head
_________________ kdo si hraje nezlobi |
|
Registrovaný: 20.11.07 Prihlásený: 18.01.09 Príspevky: 2929 Témy: 116 | 116 |
presne tento isty problem ako ty som mal aj ja riesenie je pouzivat kodovanie
Kód: cp1250_czech_cs
aj mne to robilo presne to co tebe ked som to robil s utf8
|
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
Hmm, s cp1250_czech_ci (resp ucs2_slovak_ci) mi to namiesto diakritiky do databazy ulozi otazniky. Ked to pridam cez myAdmina, vypise mi skúška. Takze jeden problem je v odosielacom scripte a druhy vo vypise...
|
|
Registrovaný: 03.04.08 Prihlásený: 10.12.19 Príspevky: 4667 Témy: 37 | 37 Bydlisko: Trnava |
vcom si ukladal ten dokument resp. v com to robis??
_________________ Hmmm .... Hrošíček ... [Homer] |
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
Rucne cez Notepad, je to velmi jednoduchy scriptik
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
notepad určite nie, skús pspad a kontroluj si kódovanie, v akom ukladáš dokument
_________________ C#, PHP, ... |
|
Registrovaný: 20.11.07 Prihlásený: 18.01.09 Príspevky: 2929 Témy: 116 | 116 |
mno PSpad tez ne skor CONtext (ale to je subjektivne )
a ano treba davat poroz na ukladanie teda v akom formate inak ak je to jednoduchy skriptik mozes ho sem dat bude to urcite lahsie odhalit chybu
|
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
takze insert script, jednoduchy, bez ochrany, ale len pre viac menej sukromne pouzitie
Kód: <?php mysql_connect("localhost", "xxx", "xxx") or die(mysql_error()); mysql_select_db("sksbc") or die(mysql_error()); $nick = $_POST['nick']; $text = $_POST['text']; $date = date('G:i - j.m.Y'); $sct = $_POST['sct']; if ($nick!="" and $text!="" and $sct=="xxx" and $text!=$text1 and $nick!="Váš nickname..." and $text!="Váš príspevok...") { mysql_query ("INSERT INTO `forum` SET nick='$nick', text='$text', date='$date'") or die(mysql_error()); echo "Váš príspevok bol úspešne odoslaný<br/>"; } elseif ($nick=="" or $nick=="Váš nickname...") { echo "Nezadal si nick"; } elseif ($text=="") { echo "Nezadal si text príspevku"; } elseif ($sct=!"xxx") { echo "Prelomená ochrana pred spambotmi"; } elseif ($text==$text1) { echo "Zadal si rovnaký text, ako predchádzajúci užívateľ"; } mysql_close(); ?> A vypisovanie: Kód: <?php mysql_connect("localhost", "xxx", "xxx") or die(mysql_error()); mysql_select_db("sksbc") or die(mysql_error()); if (isset($_GET['start']) && ereg("^[0-9]+$", $_GET['start'])) { $start=$_GET['start']; } else { $start=0; } $rows=10; mysql_query("SET NAMES 'utf8'"); $pocet = mysql_query("SELECT COUNT(*) AS c FROM `forum`"); $pocet = mysql_fetch_assoc($pocet); $pocet = $pocet['c']; $vypis = mysql_query("SELECT nick, text, date FROM `forum` ORDER BY number DESC LIMIT $start,$rows"); if (mysql_num_rows($vypis) > 0) { while($riadok = mysql_fetch_assoc($vypis)) { echo "<div class=\"forum-head\"><span class=\"forum-nick\">".$riadok['nick']."</span>"; echo "<span class=\"forum-date\">".$riadok['date']."</span></div><br clear=\"right\"/>"; echo "<p class=\"forum-text\">".$riadok['text']."</p>"; } } echo "<div id=\"pocitadlo\">"; $num_buttons=ceil($pocet/$rows); $button = ''; for ($i = 1; $i <= $num_buttons; $i++) { $y=($i-1)*$rows; if ($y==$start){ } $button.= " [ <a href=\"?start=$y\">$i</a> ]"; if ($y==$start){ } } echo "$button<br/>"; echo "</div>"; echo(mysql_error()); ?> Kodovanie stranky mam zadeklarovane: Kód: <meta http-equiv="content-type" content="text/html; charset=windows-1250" /> <meta http-equiv="content-language" content="sk" />
V kodovani chyba nebude, ako som pisal ked si dam data vypisat po INSERTe, idu v pohode.
|
|
Registrovaný: 03.04.08 Prihlásený: 10.12.19 Príspevky: 4667 Témy: 37 | 37 Bydlisko: Trnava |
je dost mozne ze editor ti to ulozi v inom kodovani ja som to riesil tiez az som zistil ze pspad mi to ukladal v inom kodovani..
_________________ Hmmm .... Hrošíček ... [Homer] |
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
aha, a co ma s MySQL databazou editor?
|
|
Registrovaný: 20.11.07 Prihlásený: 18.01.09 Príspevky: 2929 Témy: 116 | 116 |
ale pri vkladani do DB nemas
Kód: mysql_query("SET CHARACTER SET utf8");
|
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
dal som pred insert Kód: mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); skusil som to aj s ucs2_slovak_ci a stale nic, do databazy to dojde ako otaznicky.
|
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
eMPiko : nie ucs , ale uft8_slovak_ci a na stranke mam windows-1250 & no problemo
_________________ kdo si hraje nezlobi |
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
Existuje aj ucs2, neviem co to je za charset, ale nasiel som to tam.
Skusim to rozbehat na rozdielne nakonfigoruvanej databaze,
|
|
Registrovaný: 22.11.05 Prihlásený: 29.01.23 Príspevky: 712 Témy: 25 | 25 Bydlisko: SK-Martin |
neviem prečo nie PSPad(vždy v tom robím a nemám problémy)
na tejto stránke Kód: http://sepeter.sk/navody-nastavenie-kodovania
som našiel zaujímavý popis, je to síce pre phpfusion, ale princíp je rovnaký, skús to podľa toho poriešiť
|
|
Registrovaný: 13.05.08 Prihlásený: 07.11.14 Príspevky: 43 Témy: 7 | 7 |
Vyriesilo to:
Kód: mysql_query("SET NAMES latin2");
Dakujem vsetkym, nejako som to vdaka vam dal dokopy.
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
eMPiko píše: vypise mi skúška. .
na jednej stranke to mam takto isto, cez phpMyAdmina pise toto jak tebe, ale na stranke to napise normalne
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
no základom je jedna vec ktorú mnohí prehliadnu a to nastavenie kódovania samotnej databázy. Teda pokiaľ máš databázu v utf-8, tabuľku v utf-8, polia v utf-8, súbory uložené do utf-8, a na stránke meta tág nastavujúci jazyk na utf-8 nemal by byť problém.
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
mam to presne ako pises a je to tak ako som pisal.. kym nerobim export db tak je to ok
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 22.11.05 Prihlásený: 29.01.23 Príspevky: 712 Témy: 25 | 25 Bydlisko: SK-Martin |
a ako robíš export?
ja to robím v phpmyadmin, ak tam nemáš možnosť nastaviť kodovanie, tak si vždy skontroluj v akom kodovaní ti uloží zálohu DB, ak je to iné ako používaš (čo môže sa stať), tak si to jednoducho zmeníš v editore
v niektorých verziách phpmyadmin je možnosť nastavenia kódovania exportu, v niektorých to chýba, toto neviem presne ako to je.
Tominator píše: no základom je jedna vec ktorú mnohí prehliadnu a to nastavenie kódovania samotnej databázy. Teda pokiaľ máš databázu v utf-8, tabuľku v utf-8, polia v utf-8, súbory uložené do utf-8, a na stránke meta tág nastavujúci jazyk na utf-8 nemal by byť problém.
ešte by som pre istotu pridal kódovanie spojenia s DB (SET NAMES)
|
|
Stránka: 1 z 1
| [ Príspevkov: 28 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 1 | 866 | 26.10.2010 14:42 coldak | | v Databázy | 2 | 1029 | 08.11.2012 1:05 silentasflash | | v Assembler, C, C++, Pascal, Java | 2 | 701 | 28.04.2012 20:04 MANIAC | | v Assembler, C, C++, Pascal, Java | 5 | 399 | 21.05.2013 19:26 igorLM | | v PHP, ASP | 1 | 973 | 05.01.2009 8:54 rooobertek | | v Ponuka práce | 0 | 1354 | 02.05.2011 12:08 magicmedia | | v PHP, ASP | 4 | 652 | 20.06.2009 12:44 KViki | | v PHP, ASP | 3 | 846 | 09.07.2007 18:19 Tominator | | v Databázy | 9 | 919 | 27.12.2015 0:33 Werus | | v PHP, ASP | 3 | 726 | 21.04.2007 14:08 lukasmakac | | v Ponuka práce | 0 | 823 | 23.10.2010 11:21 mondzo | | v Ponuka práce | 1 | 953 | 12.07.2010 19:50 Murtagh | | v PHP, ASP | 5 | 909 | 20.03.2010 6:24 rooobertek | | v Databázy | 3 | 725 | 23.03.2009 13:01 GoodWill | | v PHP, ASP | 2 | 467 | 28.06.2012 18:06 Ďuri | | v PHP, ASP | 11 | 534 | 17.05.2010 12:07 ricco24 |
|