2011-06-19 3 views
2

Я создал базу данных, которая хранит запись, то я создал поисковую систему, которая ищет записьКак искать строку, содержащую арабские символы?

он прекрасно работает, за исключением арабских символов, за исключением, он говорит: «ничего не найдено»

это поиск код двигателя

include('conn.php'); 
mysql_query("SET NAMES 'utf8'"); 
mysql_query('SET CHARACTER SET utf8'); 

$strlen = strlen($_GET['content']); 
$display_count = $_GET['count']; 
$select = "SELECT * FROM letter_cast WHERE name LIKE '%".$_GET['content']."%' OR title LIKE '%".$_GET['content']."%'"; 
$res = mysql_query($select); 
$rec_count = mysql_num_rows($res); 

что может быть проблемой ?!

+0

Вашего стола с помощью UTF8? –

+0

Чтобы быть ясным - ваш поиск содержит арабские символы или ваши данные? Или оба? –

+0

Да, моя таблица UTF8, и у меня есть данные и поиск, содержащие арабские символы –

ответ

3

Скорее всего, кодировка для строки поиска неверна. Убедитесь, что вы правильно кодируете/декодируете его со встроенным urlencode/urldecode и utf8_encode/utf8_decode, если вам нужно, прежде чем передавать его в SQL-запрос.

Как вам нужно сделать, это точно может зависеть от среды сервера немного, но в простейшем случае это просто:

$content = urldecode($_GET['content']); 

Вы также хотите, чтобы убедиться, что character encoding на любой предыдущей странице (т.е. ссылки или отправляет запрос на страницу поиска) была настроена правильно или браузер не будет правильно кодировать запрос.

+0

как это сделать? –

+0

@RayanSp Я отредактировал свой ответ с немного дополнительной информацией/примером кода, который может быть полезен. – Alo

+0

Я попытался, что у не упоминалось выше, до сих пор не повезли, кстати, когда я просмотреть таблицу из PhpMyAdmin, арабские данные выглядят следующим образом «م ت ط ل ب» –

1

Я знаю, что это старая нить, но это может помочь другим людям,

Сценарий Php также должен быть в кодировке UTF-8 кодируется

Смежные вопросы