Autor Zpráva
djlj
Profil
Zdravím a hezký víkend přeju :),
mám data v databázi uložena v kódování utf-8. Na webu používám taky utf-8.

V my.cnf mám:
character_set_server = utf8
collation_server = utf8_czech_ci

V php.ini mám:
default_charset = "utf-8"

V apache2.conf:
AddDefaultCharset utf-8

A i přesto musím používat po připojení k databázi: SET NAMES `utf8`. Co je ještě třeba nastavit, aby byla data z databáze automaticky v utf-8? (Jedná se o Linux Debian s MySQL 5.0.32, php 5.2 a Apache 2.)
Kajman_
Profil *
my.cnf
default-character-set=utf8
djlj
Profil
Kajman_
Dík za odpověď, ale i teď musím použít SET NAMES, jinak se mi zobrazí jen otazníky… Zkoušel jsem i default-collation = utf8_czech_ci, ale furt nic :/.

SHOW VARIABLES LIKE 'character_set%'; mi vypíše, že je všechno nastavený na utf, ale i tak to nejde :/
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
djlj
Profil
Nemohl by být i problém v tom, že operační systém je nastaven na jiné kódování (iso)?


Tak jsem jej nastavil na utf, ale na problém to nemělo žádný vliv…
Hugoman
Profil
SET NAMES je ISTOTA :D
djlj
Profil
Hugoman
Já vím, ale mně jde opravdu o každý zbytečný SQL dotaz :). Proto bych byl rád, aby se kódování nemuselo nastavovat při každém připojení k databázi (několik tisíc za minutu), ale databáze s ním počítala jako s defaultním.
Khamyl
Profil *
skus toto:

[mysqld]
init-connect="SET NAMES latin2"
djlj
Profil
Khamyl
Dík za odpověď :).

Tohleto znám, používám to; ale je to to samé, jako strkat do skriptů na začátek SET NAMES.
Toto téma je uzamčeno. Odpověď nelze zaslat.