Как искать строку, содержащую арабские символы? - PullRequest
2 голосов
/ 19 июня 2011

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

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

это код поисковой системы

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);

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

Ответы [ 2 ]

3 голосов
/ 19 июня 2011

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

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

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

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

1 голос
/ 21 февраля 2013

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

Скрипт Php также должен быть в кодировке utf-8

...