2014-10-26 2 views
0

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

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

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

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


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

  • META HTTP-эквив = "Content-Type" содержание = "текст/HTML, кодировка = UTF-8

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

  • META HTTP -equiv = "Content-Type" content = "text/html; charset = utf-8
  • header ('Content-type: text/html; charset = utf-8');

База данных и ее таблицы закодированы как utf8_general_ci.


Сейчас, например:

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

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

+0

Кроме того: В ResultsPage Я напечатал запрос, который я пытаюсь выполнить, и я поместил его в phpMyAdmin, и он работает. С помощью «Cantù» phpmyadmin покажите мне правильные строки (строки со словом «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); 
Смежные вопросы