SHOW VARIABLES LIKE 'character\_set_%'
Tulostaa näin
Variable_name Value character_set_client latin1 character_set_connection latin1 character_set_database latin1 character_set_filesystem binary character_set_results latin1 character_set_server latin1 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/
php sovelluksessa on
define('CHARSET', 'iso-8859-1'); <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
Kun tallennan tietokantaan äijien öikutin, niin se on siellä tän näköisenä
mysql> select products_description from products_description where products_description.products_id = '28'; +----------------------+ | products_description | +----------------------+ | �ijien �ikutin | +----------------------+ 1 row in set (0.00 sec) mysql>
php sovellus kyllä tulostelee ääkköset oikein. Halauaisin kuitenkin nähdä ääkköset kannassakin. Keskustelupalstan softa taitaa estää tallentamasta mustaa palloa, missä on kyssäri keskellä.
Tietokantayhteydelle pitää asettaa oikea merkistö, ja lisäksi tietokannan taulut kannattaa luoda käyttämään toivottua merkistöä. Nyt taitaa olla niin, että MySQL yrittää tulkita merkkisi UTF-8:na, jolloin ääkköset aiheuttavat virheen ja tallentuukin merkki �.
Kokeilin muutamalla eri tavalla
<?php function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') { global $$link; if (USE_PCONNECT == 'true') { $$link = mysql_pconnect($server, $username, $password); } else { $$link = mysql_connect($server, $username, $password); } //mysql_set_charset('latin1',$$link); if ($$link) mysql_select_db($database); //mysql_query("SET CHARACTER SET latin1"); //$charset = mysql_client_encoding($$link); //echo "The current character set is: $charset\n"; mysql_query("SET NAMES 'latin1'"); return $$link; }?>
Ei menestystä � kummittelee edelleen.
Hassu juttu, että php sovelluksessa ääkköset näkyy oikein. Ei kuitenkaan jos katselee tietokantaa phpmyadminilla tai päätteessä.
Kyseessä on oscommerce toi kommenteissa oleva echo antoi latin1
Aihe on jo aika vanha, joten et voi enää vastata siihen.