dodání ihned! nové
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
BF
Avatar
Michal Kuba
Redaktor
Avatar
Michal Kuba:16.5.2017 22:11

Ahoj.

Potřeboval bych poradit, jak nejrychleji, efektivně a pokud možno pouze v PHP při zpracování argumentů GET správně zpracovat a do db uložit například něco takového, když přijde:

index.php?jmeno=Jméno Příjmení

Do DB bych chtěl uložit přesně ten tvar jak přijde za "jmeno=" ale pořád to nejde jak by mělo. Nahrazuje mi to znaky s diakritikou za nesmysly.

Jak jsem psal, potřeboval bych to vyřešit tak, aby mi v GET mohlo přijít takhle "Jméno Příjmení" s mezerou i diakritikou.

Díky :)

 
Odpovědět
16.5.2017 22:11
Avatar
Michal Kuba
Redaktor
Avatar
Michal Kuba:16.5.2017 22:16

Nyní se mi místo "Jméno Příjmení" uloží do databáze "Jméno PÅ™ÃjmenÃ"

 
Nahoru Odpovědět
16.5.2017 22:16
Avatar
Ondřej Štorc
Redaktor
Avatar
Odpovídá na Michal Kuba
Ondřej Štorc:16.5.2017 22:19

Máš nastavený kódování souborů na UTF-8? A jaké kódování má tvoje DB?

Nahoru Odpovědět
16.5.2017 22:19
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Odpovídá na Michal Kuba
Martin Konečný (pavelco1998):16.5.2017 22:19

Ahoj,
to si budeš muset nastavit správné kódování souboru i databáze, nejlépe UTF-8.

Nahoru Odpovědět
16.5.2017 22:19
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Michal Kuba
Redaktor
Avatar
Michal Kuba:16.5.2017 22:26

Databázi mám jako vždy a všude na utf8_czech_ci a vždy tam vše funguje, jen to dávám POSTem. Takže ještě kodóvání na UTF v tom PHP souboru jo?

 
Nahoru Odpovědět
16.5.2017 22:26
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Ondřej Štorc
Michal Kuba:16.5.2017 22:34

DB od Wedosu je na utf8_czech_ci a teď teda přidávám kódování i do toho PHP souboru co to zpracovává ale nic právě :/

<?php
header('Content-type: text/plain; charset=utf-8');
session_start();

$host="server";
$user="user";
$pass="heslo";
$conn = mysqli_connect($host, $user, $pass);
$jmeno=mysqli_real_escape_string($conn,$_GET['jmeno']);
$email=mysqli_real_escape_string($conn,$_GET['email']);
$mesto=mysqli_real_escape_string($conn,$_GET['mesto']);

mysqli_select_db($conn,'databaze');

$exist=  mysqli_query($conn, "SELECT email FROM tabulka WHERE email={$_GET['email']}");

    $idQuery = mysqli_query($conn,"
        INSERT INTO tabulka (jmeno, email, mesto) VALUES ('{$jmeno}','{$email}','{$mesto}')

");
$url="http://presmerovani/";
header("Location: ".$url);

?>
 
Nahoru Odpovědět
16.5.2017 22:34
Avatar
Odpovídá na Michal Kuba
Uživatel sítě :16.5.2017 22:42

Ještě by možná mohlo pomoct nastavit kódování DB ovladače:

mysqli_set_charset($conn, 'utf8');
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
16.5.2017 22:42
Chybami se člověk učí, běžte se učit jinam!
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Uživatel sítě
Michal Kuba:16.5.2017 22:44

Bomba, super! Ukládá to fajn :)

 
Nahoru Odpovědět
16.5.2017 22:44
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.