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

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

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

Регистрация: Jul 2005
Сообщений: 116
Question Скрипт не передает умляуты :(

Здравствуйте!
Я не очень разбираюсь в РНР так что извините з глупые вопросы...

У меня есть гостевая книга.. текст загружается через флеш AS1, скрипта РНР.
Трабл в том, что при отображении отправленного текста не видно умляутов, а при вводе в инпут видно
PHP код:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

<
head>
    <
title>Guestbook</title>
    <
script type="text/javascript" src="swfobject.js"></script>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV=Pragma CONTENT=no-cache>


<body marginheight="0" marginwidth="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
    <div id="flashcontent" >
        Aai iaiaoiaeii iaiieou Flash Player  aey i?iniio?a iaoaai naeoa. 
        <a href ="http://www.adobe.com/go/EN_US-H-GET-FLASH">Nea?aou iineaai?? aa?ne? Flash Player</a>
    </div>
    <script type="text/javascript">
        var so = new SWFObject("index_1.swf" +cacheHack(), "flashObject", "1000", "700", "8", "#FFFFFF");
        so.addParam("quality", "high");
        so.addParam("scale", "noscale");
        so.addParam("allowScriptAccess", "always");
        so.addParam("allowFullScreen", "true");
        
        so.addVariable("type", "audio");
                
        so.write("flashcontent");
        
        function cacheHack(){
            return "?t=" +new Date().getTime();
        }
    </script>    
    </form>
</body>

</html> 
и XML файла

PHP код:
<?xml version="1.0" encoding="utf-8"?>
<timetable>

  <fields>
    <name>Name</name>
    <email>t</email>
    <time>02/16/10 02:45 AM</time>
    <message>ÖöÄäÜß</message>
  </fields>
</timetable>

Подскажите, что делать...

Спасибо


Последний раз редактировалось alexpro; 29.04.2010 в 04:49.
Старый 29.04.2010, 12:56
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
из всего, что можно было прислать, прислал самое бесполезное.

Ну скорее всего проблема в шрифте, который включен в флешку для отображения символов: в него не добавлены эти самые умляуты. Исходник-то fla есть к нему?
__________________
мой пустой блог

Старый 30.04.2010, 02:21
alexpro вне форума Посмотреть профиль Отправить личное сообщение для alexpro Найти все сообщения от alexpro
  № 3  
Ответить с цитированием
alexpro
 
Аватар для alexpro

Регистрация: Jul 2005
Сообщений: 116
Так вставил эти символы....
Там есть кнопочка Embed.
Также там есть дополнительный ПХП файл с таким кодом:
PHP код:
<?php
    
    $xmlname 
"guestbook.xml";

    
    
getXML($xmlname);    
    
printXML($gallery,$n);
    
createXML($xmlname$gallery$n$name$email$message);
    
//mailAdmin($name, $email);
    
function utftowin($value){

        
$value iconv('UTF-8','Windows-1251',$value); 

        return 
$value;
    }
    
    function 
wintoutf($value){

        
$value iconv('Windows-1251','UTF-8',$value); 

        return 
$value;
    }


function 
saxStartElement($parser,$name,$attrs){
global 
$currentPhoto,$index;

    switch(
$name)
    {
        case 
'timetable':
            
$gallery = array();
            break;
        case 
'fields':
            
$currentPhoto = array();
            break;
        default:
            
$index $name;
            break;
    };
}

function 
saxEndElement($parser,$name){
global 
$gallery,$currentPhoto,$index;

    if ((
is_array($currentPhoto)) && ($name=='fields'))
    {
        
$gallery[] = $currentPhoto;
        
$currentPhoto null;
    };
    
$index null;
}

function 
saxCharacterData($parser,$data){
global 
$currentPhoto,$index;
    if ((
is_array($currentPhoto)) && ($index))
        
$currentPhoto[$index] = $data;
}


function 
getXML($xmlname){
global 
$n;
    
$parser xml_parser_create();

    
xml_set_element_handler($parser,'saxStartElement','saxEndElement');

    
xml_set_character_data_handler($parser,'saxCharacterData');

    
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,false);

    
$xml join('',file($xmlname));

    if (!
xml_parse($parser,$xml,true))
    die(
sprintf('Îøèáêà XML: %s â ñòðîêå %d',
        
xml_error_string(xml_get_error_code($parser)),
        
xml_get_current_line_number($parser)));
    
xml_parser_free($parser);
}

function 
printXML($gallery,$n){
    foreach(
$gallery as $n){
        print 
"Name: ".utftowin($n['name'])."<br>";
        print 
"Email: ".utftowin($n['email'])."<br>";
        print 
"Zeit: ".utftowin($n['time'])."<br>";
        print 
"Nachricht: ".utftowin($n['message'])."<br><br>\n";
    }
}

function 
createXML($xmlname$gallery$n$name$email$message){
    
    
$posted strftime("%D %I:%M %p");

      
$message stripslashes($message);

    
$doc = new DOMDocument('1.0','utf-8');

    
$doc->formatOutput true;

    
$root $doc->createElement('timetable');
    
    
$root $doc->appendChild($root);
    
            
$fields $doc->createElement('fields');
               
$fields $root->appendChild($fields);

               
$field $doc->createElement('name');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(wintoutf($name));
            
$text $field->appendChild($text);
            
            
$field $doc->createElement('email');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(wintoutf($email));
            
$text $field->appendChild($text);
            
            
$field $doc->createElement('time');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(wintoutf($posted));
            
$text $field->appendChild($text);
            
            
$field $doc->createElement('message');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(wintoutf($message));
            
$text $field->appendChild($text);
    
    foreach(
$gallery as $n){
            
            
$fields $doc->createElement('fields');
               
$fields $root->appendChild($fields);

               
$field $doc->createElement('name');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(($n['name']));
            
$text $field->appendChild($text);
            
            
$field $doc->createElement('email');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(($n['email']));
            
$text $field->appendChild($text);
            
            
$field $doc->createElement('time');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(($n['time']));
            
$text $field->appendChild($text);
            
            
$field $doc->createElement('message');
            
$field $fields->appendChild($field);

            
$text $doc->createTextNode(($n['message']));
            
$text $field->appendChild($text);

    }
            
            
            
$doc->save($xmlname);
}

function 
mailAdmin($name$email) {
    
$mailTo "Your Name <alex@alex-pro.net>";
    
$mailFrom "From: Guestbook <noreply@email.com>";
    
$mailSubject "New Guestbook Entry";
    
$mailBody "$name ($email) has just posted in your guestbook\n\nView it at http://www.nataliebeauty.com";
    
mail($mailTo$mailSubject$mailBody$mailFrom);
}

print 
"&result=okay";
exit;
?>
он есть в исходнике
Прикрепляю исходник
Вложения
Тип файла: zip gb.zip (57.4 Кб, 74 просмотров)

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

Теги
php , умляуты

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

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


 


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


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