Kezdőoldal » Számítástechnika » Weblapkészítés » SQL-ből miért nem iratja ki...

SQL-ből miért nem iratja ki PHP oldalra az "ő" és "ű" karaktereket, amikor a többi ékezetes betűvel nincs gond?

Figyelt kérdés
Van két táblám, az egyikből kiírja, a másikból viszont nem, pedig az phpMyAdminban ugyan azok a táblázat beállítások! Ráadásul kipróbáltam őket egyazon PHP-oldalra echozni (gyakorlatilag teljesen ugyanazzal a függvénnyel), aminek az lett az eredménye, hogy az egyiket gond nékül kiírta, a másinál viszont ugynúgy "?"-el helyettesítette a hosszú karaktereket. Ebből gondolom hogy SQL-ben lesz a hiba

2014. dec. 23. 09:26
 1/7 A kérdező kommentje:

pár dolog még:

PHP:

BOM mélküli (máshogy is próbáltam már)

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


TABLE(s)

Collation utf32_hungarian_ci


TABLE COLUMN(s)

Collation utf8_bin


1 id bigint(20)

2 valami varchar(32) utf8_bin



FÜGGVÉNY

@mysql_connect ("$db_host","$db_username","$db_password") or die ("Nem lehet csatlakozni az adatbázishoz");

@mysql_select_db ("$db_name") or die ("Nem lehet a db-t kiválasztani");


$array = @mysql_query ("SELECT * FROM tbl_valami");

while ( $db_field = @mysql_fetch_assoc($array) )

{

// változóba rakás

$id=$db_field['id'];

$valami=$db_field['valami'];


// kiechozás

echo "<BR>";

echo $id;

echo $valami;

2014. dec. 23. 09:35
 2/7 Tengor ***** válasza:
UTF8_bint-t állítsd UTF8_hu-ra!
2014. dec. 23. 09:45
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:
Ugyanaz az eredmény Tengor! Ha utf8_hungarian_ci-re van állítva akkor se írja ki! A másik TABLE viszont sima utf8_bin-el is működik. Pont ezért nem értem hogy mi folyik itt.
2014. dec. 23. 09:53
 4/7 Tengor ***** válasza:

Próbáld ki ezt: [link]

Azt ugye tudod, hogy a mysql_ kezdetű függvények használata már nem biztonságos és nem ajánlott?!

2014. dec. 23. 09:55
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
Igen, tudom, köszönöm! Majd késöbb átírom az összeset, csak jelenleg így gyorsabban megy, mert így szoktam meg. :)
2014. dec. 23. 09:57
 6/7 A kérdező kommentje:
Áhhhh. Sz@rik rá! Miért működik az egyik, a másik meg ugyanazokkal a beállításokkal pedig miért nem?
2014. dec. 23. 10:32
 7/7 Drone007 ***** válasza:
100%

Szerintem nézd meg milyen adat van az adatbázisban, mert ha már úgy került be, hogy rossz volt a kódolása a celláknak, akkor rossz is marad.

Az is nézd meg, hogy minden szöveges cella kódolása jó-e, mert attól, hogy a tábláét átállítod a celláké nem biztos hogy változik.


Én egyébként mindenhol utf8_unicode_ci kódolást szoktam használni, ha esetleg kínaira is fordítani kell az anyagot :)


Az adatbázis megnyitása után (select_db után) célszerű két egyszerű sql utasítást kiadni:

SET CHARACTER SET 'utf8'

SET NAMES 'utf8'

2014. dec. 23. 11:36
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!