определите php, что не так в моем коде

#php #mysql #character-encoding

#php #mysql #кодировка символов

Вопрос:

 define("EW_ENCODING", "utf-8", TRUE); 
$encode = EW_ENCODING ;
mysql_set_charset(EW_ENCODING,$con);
$charset = mysql_client_encoding($con);

echo "The current character set is: $charsetn";
  

Почему этот код не печатается utf-8 ? Когда я запускаю этот код, он фактически печатает

 The current character set is: latin1
  

Как я могу получить желаемый результат?

Ответ №1:

MySQL использует нестандартные имена наборов символов. Попробуйте utf8 без тире.

Комментарии:

1. Я так ненавижу MySQL за это, каждый раз морочу себе голову. >_<

Ответ №2:

Попробуйте вызвать

 mysql_query("SET NAMES utf8;");
  

тоже.

Комментарии:

1. EW_ENCODING этот файл остается в файле конфигурации, поэтому мне нужно его использовать, поэтому, когда я что-то изменю, я изменю в одном месте

2. mysql_set_charset должно быть достаточно.