i have php 5.5.9 , mysql 5.5.43 innodb. in kubuntu lts /etc/mysql/my.cnf
printf("current character set: %s\n", mysqli_character_set_name($conn));
current character set: latin1
i've tried
default-character-set = utf8
first mysql server didn't restart
then i've tried
character-set-server = utf8
then mysql shell didn't start
how can rescue issue? i've managed init_connect = 'set names utf8' solve problem nonroot users, charset remains same (it displays nonprivileged users utf8, still latin1).
and if (a big if) smnd tell me should use utf8mb4? in my.cnf file? had tables in utf8 , have migrated working utf8mb4 ...
another q: applicable linux (kubuntu) server: https://www.youtube.com/watch?v=3m1wpw4uoom
please me, thanks, gregor lilaum.com
php manual says:
mysqlnd assumes server default charset. charset sent during connection hand-shake/authentication, mysqlnd use.
mysqlnd mysql native driver included php 5.4 , above.
unfortunately, have confirm in system (php 5.6.17 mysql 5.5.47 on debian jessie 8.3) despite having configured /etc/mysql/my.cnf following entries
[mysqld] character-set-server=utf8 [mysql] default-character-set=utf8 the mysqlnd not seem assume server default charset (utf8) sets connection charset latin1 collate latin1_swedish (maybe default value considering mysql ab swedish company).
so, seems there's no permanent way set utf8 charset when connecting php application. have call
$mysqli->set_charset("utf8") after each connection. embedded in custom 'dbconnect' php function in order provide sort of abstraction layer.
Comments
Post a Comment