ugrás a tartalomhoz

Mysql karakter utf-8 hiba

kriszrap · 2016. Feb. 9. (K), 20.29
Sziasztok:)
Az lenne a problémám,hogy a felküldött adatott az adatbázisba hát érdekesen jeleníti meg.
pl:
á=á
Htmlbe lekérdezéskor pedig tökéletes (operába tesztelve);
metába is megadtam utf8 karakter kódolást.
Notepad ba is át átállítottam utf8 ra.
Adatbázisba a mezőket:utf8_hungarian_ci és még "Egybevetés:utf8_hungarian_ci" is.
És amikor felküldöm az adatot és megnézem az adatbázist és jelentkezik a hiba.
  1. <head>  
  2.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  3. </head>  
  4. ....  
  5. <form action="" method="POST">  
  6. <textarea rows="4" cols="50" name="uzenet"></textarea>  
  7. <input type="submit" name="gomb" value="küldés">  
  8. </form>  
  9. <?php  
  10.   
  11.   if(!empty($_POST['gomb']) && !empty($_POST['uzenet']))  
  12.   {  
  13.   $sql = "INSERT INTO chat (id,nev, uzenet,datum) VALUES ('', 'Doe', '$_POST[uzenet]',NOW())";  
  14.   header('location:' . $_SERVER["PHP_SELF"]);  
  15.   }  
  16. ?>  
És nem értem miért csinálja:(
Van rá orvosság??
legyetek szívesek segíteni köszönöm.
 
1

Adatbázis

Poetro · 2016. Feb. 9. (K), 21.42
És az adatbázisban hogyan adtad meg a cella típusát? Elolvastad a weblaboron azt a számtalan fórumtémát ami pontosan ezzel foglalkozik?
3

local/phpmyadmin azt rámentem

kriszrap · 2016. Feb. 9. (K), 22.52
local/phpmyadmin azt rámentem a táblára: struktúra és ott kiválasztottam az oszlopot és "Egybevetés" megváltoztattam.
4

Az egybevetés kizárólag az

dorion · 2016. Feb. 9. (K), 23.00
Az egybevetés kizárólag az ABC sorrend rendezését határozza meg az adott nyelvre, ettől a tábla még lehet latin2 kódlapú
5

Akkor hol tudom beállítani??

kriszrap · 2016. Feb. 9. (K), 23.47
Akkor hol tudom beállítani??

szerk.: echo mb_detect_encoding($_POST[uzenet], "auto"); utf-8 vagy akkor már 100% hogy adatbázis
2

Nem jó az adatbázis kódolása

dorion · 2016. Feb. 9. (K), 22.28
Nem jó az adatbázis kódolása asszem show table create tablanev; ez megmutatja, hogy milyen kódolással lett létrehozva a tábla. Ha nem utf8 akkor az alter table tablanev; (Google tól kérdezd a helyes szintakszist)
6

Tehát az oldaladon jól

Joó Ádám · 2016. Feb. 10. (Sze), 01.20
Tehát az oldaladon jól jelenik meg a szöveg, csak a phpMyAdminban hibás?
7

Igen pedig utf-8 van

kriszrap · 2016. Feb. 10. (Sze), 22.08
Igen pedig utf-8 hungarian ... van beállítva az egybevetés résznél
Hogy tudom megnézni hogy ténylegesen utf-8 a táblám??
szerk.:
  1. $sql = "SELECT id,nev, uzenet,datum FROM chat";  
  2. $result = mysqli_query($conn$sql);  
  3. while($row = mysqli_fetch_assoc($result))  
  4. {  
  5.     echo mb_detect_encoding($row[uzenet], "auto");  
  6. }  
Amikor dből jön az adat akkor : ASCII
Az nagy baj?? vagy utf8 kenne megjelennie?
8

Egy komment szerint csak

Joó Ádám · 2016. Feb. 11. (Cs), 17.05
Egy komment szerint csak strict módban érdemes UTF-8-at ellenőrizni.

De ha az oldaladon jól jelenik meg, csak a phpMyAdminban nem, akkor a phpMyAdmin felől érdemes keresni a hibát.