Autor Zpráva
Ghosting
Profil
Zdravím, mám vcelku jednoduchý formulář na vkládání dat do mysql DB
soubor index.php (jen část)
<form action="save.php" method="post">
<table>
<tr><td>Město</td><td><input type="text" name="mesto"></td></tr>
<tr><td>Název</td><td><input type="text" name="nazev"></td></tr>
<tr><td>Adresa</td><td><input type="text" name="adresa"></td></tr>
<tr><td>Telefon</td><td><input type="text" name="telefon"></td></tr>
<tr><td>Poznámky</td><td><input type="text" name="poznamky"></td></tr>
<tr><td>Provozní doba</td><td><input type="text" name="provozni_doba" value="Po-Pá 10:00 - 12:00  14:00 - 18:00"></td></tr>
<tr><td>Cena za vzduch</td><td><input type="text" name="vzduch"></td></tr>
<tr><td>Cena za nitrox</td><td><input type="text" name="nitrox"></td></tr>
</table>

<input type="submit" value="uložit">
</form>



soubor save.php
<?

$SQL_Server = "localhost";
$SQL_Uzivatel = "****";
$SQL_Heslo = "******";
$Databaze = "*";


$pripoj=MySQL_Connect($SQL_Server, $SQL_Uzivatel, $SQL_Heslo) or Die(MySQL_Error());
MySQL_Select_Db($Databaze) or Die(MySQL_Error());

$mesto=$_POST['mesto'];
$nazev=$_POST['nazev'];
$adresa=$_POST['adresa'];
$telefon=$_POST['telefon'];
$poznamky=$_POST['poznamky'];
$provozni_doba=$_POST['provozni_doba'];
$vzduch=$_POST['vzduch'];
$nitrox=$_POST['nitrox'];

$sql="INSERT INTO `sunlight-potapecske_plnirny` VALUES (null, '$mesto', '$nazev', '$adresa', '$telefon', '$poznamky', '$provozni_doba', '$vzduch', '$nitrox')";

$vysledek = MySQL_Query($sql);

if ($vysledek)
print "<br><b>záznam vložen</b>";
else
print "nepodařilo se";

MySQL_Close($pripoj);
?>


Problém je že při výpisu z DB se místo ěššč.... zobrazí kliky háky... (čeština je v háji)
v mysql db mam nastaveno: p1250_czech_cs ale i když nastavím utf8_czech_ci tak to stejne nefunguje.
Soubory mam ulozeny v v utf-8 (taktéž jsem zkoušel windows-1250 stejně to nepomohlo).
Zkoušel sjem hledat an linuxsoftu, tam se ae nic moc nenašel, jen problémy při zobrazení dat z mysql, ale já mám problém při vkládání dat.
Nevíte kde by mohla být chyba?
Taps
Profil
zkus nastavit set names, podle kodování
@MYSQL_QUERY("set names UTF8");
@MYSQL_QUERY("set names CP1250");
Jan Rippl
Profil
Amáš v hlavičce toho formuláře správné kódování?

Případně enctype v tagu <form>
Ghosting
Profil
......
$SQL_Server = "localhost";
$SQL_Uzivatel = "******";
$SQL_Heslo = "********";
$Databaze = "******";
@MYSQL_QUERY("set names CP1250");
....


Nefnguje ani s UTF-8
Ghosting
Profil
Ano f hlavičce mám UTF 8 a zkoušel jsem i enctype="multipart/form-data" ale ten také nefunguje
Taps
Profil
Ghosting
zkus se podívat na http://molhanec.net/mysql_cestina_minifaq.html
Ghosting
Profil
Koukal jsem na to, ale nic o tom tam není. Ale díky.
orac
Profil *
Ahojky potřeboval/a bych poradit s vkládáním češtiny do hry pls pls napište mi to na email: oorac@seznam.cz
Miraňák
Profil *
Zkus to dát přímo před mysql_query kterym vkladas ty veci (myslim to - MYSQL_QUERY("set names CP1250");) ja sem to musel taky vkládat několikrat aby to správne pracovalo..
Miraňák
Profil *
orac fakt sorrac ale myslím že ti tu moc lidi takhle nepomůže
Petrnson
Profil
Taps
Dík za link, pomohl jsi mi, ani numusím zakládat nové vlákno.
Akacko
Profil
orac
1) Ty potrebujes poradit, Ty napis.
2) Zaloz si vlastni tema a nelez do ciziho
3) Ty nevis jakeho jsi pohlavi? (potřeboval/a)
gorn
Profil *
1. Zobrazením kodu sve kazde stranky v prohlizeci overte, ze je vsude

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

2. Pokud mozno zkontrolujte zda http hlavicka ma rovnez nastavene utf8 - ta ma pred meta tagem prednost. Poud nevite jak na to nainstalujte si firefox a plugin Web Developer

3. Na vsech php strankach co pracuji daty a to I NA TECH KAM VEDOU FORMULARE A TREBA SAMI JEN PRESMERUJI NA JINOU STRANKU maji pote co se spoji z databazi prikaz
mysql_query('SET NAMES UTF8');

4. Otestujte z prazdou databazi.

5. Pokud to az do bodu 4 funguje a uz mate spoustu "divnych" dat v dvakrat zakodovanem UTF8 z minulosti, tak nezbyva nez je prekonvertovat scriptem typu:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?
mysql_connect('localhost','www-data','');
mysql_select_db('other');

$result = mysql_query('SELECT * from oldtable;');


mysql_query('SET NAMES UTF8');

while ($row = mysql_fetch_assoc($result)) {
mysql_query("INSERT INTO newtable (col1,col2,....) VALUES ('{$row["col1"]}', '${row["col2"]}', ... );\n");
}
?>
gorn
Profil *
Omluva za preklepy, psal jsem to rychle, aby uz jste se netrapili ;-) ... enjoy
Chamurappi
Profil
Reaguji na gorna:
Ghosting se v květnu zeptal a ty jsi v prosinci přispěchal s odpovědí, aby se už netrápil. Psal jsi to rychle, aby tě nikdo nepředběhl :-)

Když už tu jsi…

content="text/html; charset=utf-8" />
Správně je to bez lomítka. Pokud je to HTML, prohlížeče samozřejmě lomítko ignorují. Pokud je to XHTML, prohlížeče samozřejmě ignorují celý ten <meta> element.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0