ugrás a tartalomhoz

Ékezetes karakterek helyett kérdőjelet látok MySQL adatbázisnál

s_volenszki · 2006. Jún. 8. (Cs), 10.13
Sziasztok!

Van egy érdekes és egyben bosszantó problémám!
MySQL db-ben egy rekordban szövegket tárolok! Az eddigi szerveren, minden ok volt, most átköltöztem, és annak ellenére hogy a PhpMyAdmin-ban tökéletesen jó a szöveg, a rekordom latin2_hungarian_ci a frontenden minden ő-t és ű-t kicserél kérdőjelre!

Mi lehet az oka?


Várom az észrevételeiteket!

s_volenszki
 
1

Minek a kódolása?

Török Gábor · 2006. Jún. 8. (Cs), 10.21
MySQL-ben elég sok szinten lehet különböző karakterkódolást állítani.

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.03 sec)

Győzödj meg róla, hogy a korábbi, és a jelenlegi környezetedben is ugyanazok legyen a beállítások.
2

Kódolás

s_volenszki · 2006. Jún. 8. (Cs), 10.29
Sajna a régi tárhelyem már nem tudok megnézni semmit, de itt ezt írja:

character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

De az mitől van, hogy a PhpMyAdmin felületén jól jelenik meg?
5

SET NAMES

Török Gábor · 2006. Jún. 8. (Cs), 11.02
Neked pedig latin2 kell, tehát látszik, hogy ezek a beállítások nem jók. A PhpMyAdmin azért kezeli jól, mert a lennebbi hozzászóló által említett SET NAMES segítségével ő beállítja a megfelelő kódolásokat (client, connection, results).
3

Ékezetes karakterek helyett kérdőjelet látok MySQL adatbázi

Anonymous · 2006. Jún. 8. (Cs), 10.48
Az adatbáziskapcsolat létrejötte után add ki az alábbi parancsot:
mysql_query("SET NAMES latin2");
MySQL 4.1 fölött csak így kezeli helyesen az "Ő" és "Ű" karaktereket.
4

SET NAMES latin2

s_volenszki · 2006. Jún. 8. (Cs), 10.54
Hát aki tud az tud!

És most már én is tud!

Köszi!
6

MySQL 4.1 charset-connection

Anonymous · 2006. Jún. 8. (Cs), 11.08
bővebben RTFM:
http://dev.mysql.com/doc/refman/4.1/en/charset-connection.html
udv: L. Tamas prog2[kukkacc]freemail.hu