Avatar
karel-911
Člen
Avatar
karel-911:

Dobrý den, potřebuju uložit do mysql data. Toto funguje, ale stále tam nefunguje utf-8. Jakmile se to do db uloží, tak je to rozházené. A to u každé části v tabulce mám utf-8-czech-ci nastavenou. Nevíte čím by to mohlo být.

Děkuji

<?php session_start(); ?>
<!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>Žádost o výcvik</title>
</head>
<body>
<?php
  $kontrola_odeslani =  $_POST["tlacitko"];
  if($kontrola_odeslani){
    $nick = $_POST["nick"];
    $email = $_POST["email"];
    $zkusenosti = $_POST["zkusenosti"];
    $typ_vycviku = $_POST["typ_vycviku"];
      if($nick AND $email){
        mysql_connect("localhost", "*********", "********");
        mysql_select_db("debriefing");
        $ip = $_SERVER["REMOTE_ADDR"];
        $zapis = mysql_query("INSERT INTO zadosti SET jmeno_prijmeni='$nick', email='$email', zkusenosti='$zkusenosti', typ_vycviku='$typ_vycviku', IP='$ip' ;");
        echo "Registrace proběhla v pořádku.";
      } else {
        echo "Nezadal jsi nick nebo email.";
      }
    } else {
      echo "Hesla nejsou shodná!";
    }
?>

  <form action="?" method="post">

  </form>

  <p>
  <form action="<?php $PHP_SELF; ?>" method="POST">
      <tr><td>Jméno a Přijmení </td><td><p><input type="text" name="nick" /></p></td></tr>
      <tr><td>Váš Email </td><td><p><input type="text" name="email" /></p></td></tr>
      <tr><td>Zkušenosti s virtuálním létáním </td><td><p><textarea name="zkusenosti" cols="50" rows="7"></textarea></p></td></tr>
      <tr><td>Požadujete pouze vysvětlení nějaké konkrétní látky? <p>Pokud ano, tak napiště jakou látku potřebujete vysvětlit. Pokud ne, tak napiště "NE"</p> </td><td><p><textarea name="typ_vycviku" cols="50" rows="7"></textarea></p></td></tr>
      <tr><td><input type="submit" name="tlacitko" value="Registrovat" /></td></tr>
 
Odpovědět 2.11.2013 0:12
Avatar
Kit
Redaktor
Avatar
Odpovídá na karel-911
Kit:

Po každém otevření databáze musí být první příkaz

SET NAMES utf8;

jinak to bude blbnout.

Nahoru Odpovědět 2.11.2013 0:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
karel-911
Člen
Avatar
karel-911:

V php moc nedělám, kam přesně?

 
Nahoru Odpovědět 2.11.2013 0:27
Avatar
Kit
Redaktor
Avatar
Odpovídá na karel-911
Kit:

To není příkaz PHP, ale SQL.

Nahoru Odpovědět 2.11.2013 0:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
karel-911
Člen
Avatar
karel-911:

No ukaždé položky mám nastaveno utf8

 
Nahoru Odpovědět 2.11.2013 0:31
Avatar
karel-911
Člen
Avatar
karel-911:

REATE TABLE IF NOT EXISTS zadosti (
ID int(55) NOT NULL AUTO_INCREMENT,
jmeno_prijmeni varchar(150) COLLATE utf8_czech_ci NOT NULL,
email varchar(150) COLLATE utf8_czech_ci NOT NULL,
zkusenosti varchar(1500) COLLATE utf8_czech_ci NOT NULL,
typ_vycviku varchar(1500) COLLATE utf8_czech_ci NOT NULL,
IP varchar(1500) COLLATE utf8_czech_ci NOT NULL,
PRIMARY KEY (ID)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=9 ;

 
Nahoru Odpovědět 2.11.2013 0:34
Avatar
Kit
Redaktor
Avatar
Odpovídá na karel-911
Kit:
mysql_connect("localhost", "*********", "********");
mysql_query("SET NAMES utf8");
Nahoru Odpovědět 2.11.2013 8:16
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
karel-911
Člen
Avatar
karel-911:

Funguje, perfektní, díky

 
Nahoru Odpovědět 2.11.2013 14:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.