кодировка символов php файла, кодировка символов базы данных mysql, специальные символы

У меня есть mysql db с некоторыми специальными символами, форма ввода, несколько страниц php.

  • На моей первой странице php (requestPage) у меня есть форма ввода.

  • Эта страница отправляет (через GET) параметр на другую страницу php (ResultsPage).

  • Наконец эта страница php (ResultsPage) отправляет запрос с параметром в базу данных и показывает результаты.


RequestPage кодируется как utf-8 через

  • meta http-equ = «Content-Type» content = «text / html; charset = utf-8

ResultsPage кодируется как utf-8 через

  • meta http-equ = «Content-Type» content = «text / html; charset = utf-8
  • заголовок (‘Content-type: text / html; charset = utf-8’);

База данных и ее таблицы кодируются как utf8_general_ci.


Теперь, например:

  • если я введу в форме RequestPage слово «Cantu», resultsPage выполнит запрос и покажет мне каждую запись в БД со словом «Cantù», и для меня все в порядке.
  • Если я подставлю в форме RequestPage слово «Cantù», resultsPage выполнит запрос и не покажет мне строк, но я хочу видеть строки со словом «Cantù»!

Любое предложение?

0

Решение

Я решил проблему с этой строкой, добавленной в файл php resultsPage:

mysql_query("SET character_set_results = 'utf8', character_set_client='utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $connection);

Очевидно, что он должен быть вставлен после этой строки:

$connection = mysql_connect($servername,$username,$dbpassword);
0

Другие решения

Других решений пока нет …