- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброе утро. Возник вопрос по сабжу.
Перечитал кучу мануалов и все что только можно отгуглил. Никак этот гад не хочет брать русский язык. Если кто знает, или сталкивался, подскажите.
База в utf8_general_ci
============================ Файл с формой ==================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript" src="javascripts/prototype.js"></script>
<script type="text/javascript" src="javascripts/effects.js"></script>
<script type="text/javascript" src="javascripts/controls.js"></script>
<style>
body {font-family: verdana; arial, sans-serif; font-size: 12px; }
#search, ul { padding: 3px; width: 150px; border: 1px solid #999; font-family: verdana; arial, sans-serif; font-size: 12px;}
ul { list-style-type: none; font-family: verdana; arial, sans-serif; font-size: 12px; margin: 5px 0 0 0}
li { margin: 0 0 5px 0; cursor: default; color: green;}
li:hover { background: #ffc; }
</style>
</head>
<body>
<div>
<label>Type here</label> <input type="text" id="search" name="search" />
</div>
<div id="hint"></div>
<script type="text/javascript">
new Ajax.Autocompleter("search","hint","server.php");
</script>
</body>
</html>
======================== Файл обработчик =================================
<?php
$host = "localhost";
$database = "*****";
$user = "*****";
$password = "*******";
mysql_connect($host,$user,$password);
mysql_select_db($database);
$sql = "SELECT title FROM autocomplete_demo WHERE title LIKE '" . $search . "%'";
$rs = mysql_query($sql);
?>
<ul>
<? while($data = mysql_fetch_assoc($rs)) { ?>
<li><? echo stripslashes($data['title']);?></li>
<? } ?>
</ul>
========================================================================
mysql_query("SET NAMES 'utf-8'");
Кажется так.
Гы... почти тезка
ciber, не работает (неприличное выражение), добавил в файл обработчик
хошь так:
$sql = "SELECT title FROM autocomplete_demo WHERE title LIKE '" . $search . "%'";
$rs = mysql_query("SET NAMES 'utf-8'",$sql);
хошь так:
<?php
mysql_query("SET NAMES 'utf-8'");
$host = "localhost";
$database = "*****";
$user = "*****";
$password = "*******";
mysql_connect($host,$user,$password);
mysql_select_db($database);
$sql = "SELECT title FROM autocomplete_demo WHERE title LIKE '" . $search . "%'";
$rs = mysql_query($sql);
?>
<ul>
<? while($data = mysql_fetch_assoc($rs)) { ?>
<li><? echo stripslashes($data['title']);?></li>
<? } ?>
</ul>
mysql_connect($host,$user,$password);
mysql_select_db($database);
mysql_query("SET NAMES 'utf-8'");
ciber добавил 09.01.2009 в 06:25
А вообше покури мануалы по мускулу.
Доброе утро. Возник вопрос по сабжу.
Перечитал кучу мануалов и все что только можно отгуглил. Никак этот гад не хочет брать русский язык. Если кто знает, или сталкивался, подскажите.
всё просто:
в PHP
//## перекодировка unicode UTF-8 -> win1251
function utf8_win ($s){
$out="";
$c1="";
$byte2=false;
for ($c=0;$c<strlen($s);$c++){
$i=ord($s[$c]);
if ($i<=127) $out.=$s[$c];
if ($byte2){
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
if ($new_i==1025){
$out_i=168;
}else{
if ($new_i==1105){
$out_i=184;
}else {
$out_i=$new_i-848;
}
}
$out.=chr($out_i);
$byte2=false;
}
if (($i>>5)==6) {
$c1=$i;
$byte2=true;
}
}
return $out;
}
далее $search = utf8_win( $search );
и всё)
Real-Unior, спасибо большое, даже не знаю как и отблагодарить. Всю ночь мозги трепал, вариантов перепробовал тьму. В общем огромное спасибо, а то у меня уже голова от количества принятой ненужной информации чуть не лопнула.
CyberX добавил 09.01.2009 в 06:46
ciber, также спасибо, но у меня этот вариант не пашет. Хотя я не понимаю как у меня заработал вариант Real-Unior, т.к. от предложил перекодировку в 1251, но сейчас вникать не буду пойду сначала высплюсь. Всем огромное спасибо.
Cybex, Вам не кажется странным... у вас всё в UTF-8 и Вам помогает перекодировка в win1251... хм...
LEOnidUKG, нет, не кажется. Я точно уверен что где-то накосячил с кодировкой, на первый взгляд в коне у меня все вроде нормально, база тоже в нужном формате. Но это только на первый взгляд. Кстати код в 1 посте точный может меня глючит, но я ничего так про 1251 не вижу.
всё просто:
можно и проще
iconv("cp1251","UTF-8","То, что нужно перекодировать");
можно и проще
iconv("cp1251","UTF-8","То, что нужно перекодировать");
если PHP5...
А вообще CyberX, ИМХО это не нормальная работа скрипта 🙄
LEOnidUKG, полностью согласен. :)