[ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30 | 30
NapísalOffline : 22.04.2014 15:06 | Zlá diakritika v phpMyAdmin

Dobrý deň,
dúfam že som nezaradil tento príspevok do nesprávnej témy, ale mám problém s údajmi v databáze MySQL.

Ide totiž o to, že ak zadám vo svojom formulári (HTML) údaje, uložia sa mi do databázy v tabuľke, ale bez diakritiky, vlastne so zvláštnymi znakmi. Napríklad, ak zadám meno Anežka - v phpMyAdmin sa zobrazí: Anežka. Chyba bude pravdepodobne v skripte PHP, lenže skúšal som všetky možné varianty a nič nefunguje.
Databázu aj tabuľky mám nastavené na kódovanie UTF-8_general_ci

PHP skript:
Kód:
<?php
$con=mysqli_connect("localhost","root","","sxt");
// Pripojenie - kontrola

mysql_query("SET CHARACTER SET 'utf-8'");
mysql_query("SET NAMES utf-8");

if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$meno = $_POST['meno'];
$priezvisko = $_POST['priezvisko'];
...


kódovanie stránky v HTML:
Kód:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


Všade v phpMyAdmin mám nastavené kódovanie na UTF-8 (UTF-8_general_ci)

Ak by mal niekto nápad ako by som to mohol vyriešiť, budem vďačný. Vďaka :)


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 22.04.2014 15:33 | Zlá diakritika v phpMyAdmin

A keď to z db vytiahneš a zobrazíš na stránke, tak je to správne? Ak áno, tak je všetko v poriadku. Phpmyadmin to len číta v zlom kódovaní. Aby si to overil, môžeš prehliadaču vnútiť zobrazenie stránky v UTF-8 (phpmyadmin to teraz asi zobrazuje v ISO-8859-1) V chrome to máš hore v možnostiach -> tools -> encoding (nástroje->kódovanie)

Ďalšia možnosť je, že databáza je v poriadku, ale nemáš súbor, kde to zobrazuješ, uložený v kódovaní utf-8. Html tag nestačí, musíš ho aj uložiť ako utf-8. To vie každý normálny editor textu.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30 | 30
Napísal autor témyOffline : 22.04.2014 15:56 | Zlá diakritika v phpMyAdmin

Skúsil som zobraziť údaje z databázy na stránke a ukazuje mi otázniky namiesto znakov s diakritikou. Napr. toto: ���??? Ak po odoslaní údajov z formulára použijem v tom istom PHP skripte výpis odoslaných údajov cez: $_POST['priezvisko']; tak diakritika sa zobrazí správne, ale v databáze phpMyAdmin už nie, ani ked vytvorím stránku pre výpis údajov z databázy. Skúsim ešte raz skontrolovať kodovanie globane v databaze, aj pre tabuľky. Nemyslim ale ze mam v tom chybu, všade mám UTF-8_general_ci


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 22.04.2014 16:12 | Zlá diakritika v phpMyAdmin

Pozri sa do phpmyadmin s tým vynuteným kódovaním v prehliadači. Zobrazí to správne? (Malo by podľa toho Anežka. To by znamenalo, že dáta sú tam vporiadku, len sa zle zobrazujú.)

A len hádam, ale mohlo by mať vplyv aj to, že používaš zastaralé funkcie, ktoré sa už dosť dlho používať nemajú a máš nejakú novšiu verziu databáze. Aj keď by to žiadny vplyv mať nemalo, určite používaj radšej mysqli, alebo pdo.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30 | 30
Napísal autor témyOffline : 22.04.2014 16:42 | Zlá diakritika v phpMyAdmin

Mám to nastavené v Mozille cez kodovanie - Unicode a napriek tomu tá istá chyba. Skúsim iné kódovanie, nejako sa s tym pohrať..


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 22.04.2014 17:52 | Zlá diakritika v phpMyAdmin

PhpMyAdmin to zobrazí správne, problém sú (ako vždy pri tejto otázke), nesprávne uložené dáta. :)

To "SET NAMES" tam bolo vždy? Ak nie, tak sú niektoré údaje zakódované do UTF-8 dva krát.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30 | 30
Napísal autor témyOffline : 22.04.2014 21:10 | Zlá diakritika v phpMyAdmin

Už to mám, chyba bola v skripte, resp. upravou skriptu mi to už funguje.

Kód:
<?php
$con=mysqli_connect("localhost","root","","sxt");
// Pripojenie - kontrola


mysqli_query("SET NAMES utf8");


if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con, "SET NAMES utf8");

$meno = $_POST['meno'];
$priezvisko = $_POST['priezvisko'];
$adresa = $_POST['adresa'];
$email = $_POST['email'];
$tovar = $_POST['tovar'];
$platba = $_POST['platba'];
$dodanie = $_POST['dodanie'];
$platforma = $_POST['platforma'];
$rezervovat = $_POST['rezervovat'];
$popis = $_POST['popis'];
$podmienky = $_POST['podmienky'];


$sql="INSERT INTO objednavky (meno, priezvisko, adresa, email, tovar, platba, dodanie, platforma, rezervovat, popis)
VALUES ('$meno', '$priezvisko', '$adresa', '$email','$tovar','$platba','$dodanie','$platforma','$rezervovat', '$popis')";

if (!mysqli_query($con,$sql))
{
  die('Chyba: ' . mysqli_error($con));
}
echo "Vaša objednávka bola úspešne odoslaná";

?>


Ten skript:
Kód:
mysqli_query($con, "SET NAMES utf8");

som vložil pod error hlášku


Offline

Správca fóra
Správca fóra
Zlá diakritika v phpMyAdmin

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 22.04.2014 22:03 | Zlá diakritika v phpMyAdmin

Ale fuj, takéto neošetrené vstupy ukladať do databázy!? Zlý nápad! Keď už tam máš mysqli, naštuduj si niečo aspoň o mysqli->bind_param


_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30 | 30
Napísal autor témyOffline : 24.04.2014 20:58 | Zlá diakritika v phpMyAdmin

Už je to zabezpečené proti prázdnemu odoslaniu hodnôt z formulára do DB :D


Offline

Správca fóra
Správca fóra
Zlá diakritika v phpMyAdmin

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 24.04.2014 22:44 | Zlá diakritika v phpMyAdmin

Perfektné, akurát že prázdny formulár je ešte to najmenšie zlo, čo ťa môže pri takomto riskantnom kóde stretnúť.


_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30 | 30
Napísal autor témyOffline : 25.04.2014 18:10 | Zlá diakritika v phpMyAdmin

Bezpečnosť budem študovať po mature ked bbudem mať čas, a ak budem vedieť lepšie programovať :D teraz som len začiatočník, tzv. light programator :) ...teda nie som programator ale rád by som v tom pokračoval do budúcnosti, ak sa bude dariť :) Teraz len skladám už existujúce skripty, stiahnute z netu. Priznám sa :D


Offline

Čestný člen
Čestný člen
Zlá diakritika v phpMyAdmin

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 25.04.2014 22:31 | Zlá diakritika v phpMyAdmin

To je nahovno postup, na bezpecnost musis mysliet v prvom rade, existujuci skript sa plata tazsie. Ale vsak to je tvoja vec.


 [ Príspevkov: 12 ] 


Zlá diakritika v phpMyAdmin



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Zlá diakritika

v Databázy

5

935

09.04.2010 23:37

spoki

V tomto fóre nie sú ďalšie neprečítané témy.

Zlá diakritika presun hostingu

v CMS

2

754

18.11.2008 22:30

Owen

V tomto fóre nie sú ďalšie neprečítané témy.

zla diakritika - nejdu pismena l a t

v Unix-like systémy

9

976

11.08.2007 11:38

javo

V tomto fóre nie sú ďalšie neprečítané témy.

phpmyadmin

v Ostatné

1

620

24.03.2009 15:35

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

phpMyAdmin

v Databázy

4

704

29.12.2009 16:21

vputin

V tomto fóre nie sú ďalšie neprečítané témy.

phpMyAdmin

v Databázy

1

916

10.09.2007 13:05

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

phpMyAdmin - CHYBA

v Databázy

4

622

23.12.2009 18:39

tyr

V tomto fóre nie sú ďalšie neprečítané témy.

problem s phpMyAdmin

v Backend

2

880

07.02.2012 18:03

fubu

V tomto fóre nie sú ďalšie neprečítané témy.

Java aplikácia - PhpMyAdmin

v Databázy

1

587

19.04.2024 9:48

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s phpMyAdmin

v Ostatné

2

670

23.07.2009 11:03

gomra

V tomto fóre nie sú ďalšie neprečítané témy.

ako na phpmyadmin?

v Backend

4

717

12.09.2007 17:15

pitrik1

V tomto fóre nie sú ďalšie neprečítané témy.

Phpmyadmin - big problem

v Databázy

2

1865

06.11.2005 18:12

Driv3r

V tomto fóre nie sú ďalšie neprečítané témy.

phpMyAdmin - MySql Eroor

v Databázy

3

479

01.07.2014 21:38

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Free MySQL hosting + PhpMyAdmin

v Databázy

2

729

01.08.2011 15:35

mitko

V tomto fóre nie sú ďalšie neprečítané témy.

phpMyAdmin pod vlastnym rozhranim

v Databázy

6

795

28.11.2007 10:43

stewee

V tomto fóre nie sú ďalšie neprečítané témy.

Zabudnute heslo pre phpMyAdmin

v Ostatné

2

1157

15.10.2009 19:13

dKWt



© 2005 - 2026 PCforum, edited by JanoF