Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.08.2010, 20:30
Mahys вне форума Посмотреть профиль Отправить личное сообщение для Mahys Найти все сообщения от Mahys
  № 1  
Ответить с цитированием
Mahys

Регистрация: Apr 2008
Сообщений: 16
По умолчанию Php и кодировка

PHP код:
<?php
/*config.php*/
  
$mysql_server='localhost';
  
$mysql_user='root';
  
$mysql_pass='';
  
$mysql_name='Tester';

  function 
do_query($z){
    global 
$mysql_server,$mysql_user$mysql_pass$mysql_name;
    
$lin mysql_pconnect($mysql_server,$mysql_user$mysql_pass);
   
mysql_query("SET NAMES 'utf8'");
    if (
mysql_select_db($mysql_name$lin)) {
      return 
mysql_query($z);
    }
  }

?>
PHP код:
<?php
  
/* search3.php*/
  
include_once('config.php');
  
$my_query 'SELECT * FROM `Recept` WHERE 1'
  
  
$name $_GET['name']; 
  if (
$name$my_query .= ' AND `name` LIKE "%'.$name.'%"';
  
$s $_GET['yes'];
  
$type = (int)$_GET['type'];
  if (
$type$my_query .= ' AND `type`="'.$type.'"';
  if (
$s) {
    
$mass explode(", "$s);  
    for (
$i0$i<count($mass); $i++) 
     
$my_query .= ' AND `composition` LIKE "%'.$mass[$i].'%"';
  }
  
  
$s $_GET['no'];
  if (
$s) {
  
$mass explode(", "$s);
  for (
$i0$i<count($mass); $i++) 
    
$my_query .= ' AND NOT (`composition` LIKE "%'.$mass[$i].'%")';
  
  }
  
/*echo $my_query."<br>";*/
  
  
$result do_query($my_query);
  
  echo 
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
  <main>"
;
  if (
mysql_num_rows($result))
   while (
$r mysql_fetch_array($result))   {  
    echo  
'<recipe>
    <id>'
.$r[id].'</id>     
    <name>'
.$r[name].'</name>
    <authorid>'
.$r[author].'</authorid>
    <rating>'
.$r[rating].'</rating>
    </recipe>'
;
   
   }
  echo 
'<count>'.mysql_num_rows($result).'</count>
  </main>'
;
?>

Код AS3:
protected function find_clickHandler(event:MouseEvent):void
			{
 
				var receptlist:XML = new XML();
				var xmlLoader:URLLoader = new URLLoader();
				var url:String= new String;
				var GT:Boolean=false;
 
				url='http://rusl/search3.php?'
				if (Fname.text.length>0)
				{ url=url+'name='+Fname.text;
				  GT=true;
				}
				if (Fsorts.selectedIndex>0){
					if (GT){
						url=url+'&';
					}
 
					url=url+'type='+Fsorts.selectedIndex;
					GT=true;
				}
				if (Fyes.text.length>0){
					if (GT){
						url=url+'&';
					}
					url=url+'yes='+Fyes.text;
					GT=true;
				}
				if (Fno.text.length>0){
					if (GT){
						url=url+'&';
					}
					url=url+'no='+Fno.text;
				}
 
 
				xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
				xmlLoader.load(new URLRequest(url));
				function LoadXML(event:Event):void {
					receptlist = new XML(event.target.data);
					var list:ArrayList= new ArrayList;
					var count:int = receptlist.count;
 
					for (var i:int = 0; i < count; i++) {
						var s:Object = { name:String, authorid:int, id:int, rating:Number};
						s.name=receptlist.recipe[i].name;
						s.authorid=receptlist.recipe[i].authorid;
						s.id=receptlist.recipe[i].id;
						s.rating=receptlist.recipe[i].rating;
						list.addItem(s);
					}
 
					currentState="list";
 
					relist.dataProvider=list;
				}
			}
Нормально обрабатывается только поле type. В БД стоит utf8_unicode_ci. Если в config.php убрать строку mysql_query("SET NAMES 'utf8'"); то все обратывается, но вместо русских букв выдаются крякозябры. В чем может быть проблема?

ps: Над безопасностью пока не заморачивались. Заранее спасибо

Старый 14.08.2010, 20:45
e_gamer вне форума Посмотреть профиль Отправить личное сообщение для e_gamer Найти все сообщения от e_gamer
  № 2  
Ответить с цитированием
e_gamer

Регистрация: Aug 2010
Адрес: MSK
Сообщений: 104
Отправить сообщение для e_gamer с помощью ICQ
Проверь файл конфигурации в MySQL my.cnf, поле default-character-set

Так же кодировку UTF-8 можно указать в хедере.
PHP код:
header('Content-type: text/html; charset=UTF-8'
__________________
$world->answer_for_request($_REQUEST['hello,world!']);
ICQ: 336637242


Последний раз редактировалось e_gamer; 14.08.2010 в 21:23.
Старый 14.08.2010, 20:57
Mahys вне форума Посмотреть профиль Отправить личное сообщение для Mahys Найти все сообщения от Mahys
  № 3  
Ответить с цитированием
Mahys

Регистрация: Apr 2008
Сообщений: 16
Добавил header в config.php, не помогло.

default-character-set = cp1251, заменил на utf8 бестолку((


Последний раз редактировалось Mahys; 14.08.2010 в 21:02.
Старый 14.08.2010, 22:57
e_gamer вне форума Посмотреть профиль Отправить личное сообщение для e_gamer Найти все сообщения от e_gamer
  № 4  
Ответить с цитированием
e_gamer

Регистрация: Aug 2010
Адрес: MSK
Сообщений: 104
Отправить сообщение для e_gamer с помощью ICQ
Смотрю сервер - однако, мистика...
__________________
$world->answer_for_request($_REQUEST['hello,world!']);
ICQ: 336637242

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:55.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.