Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Русский текст из xml, формата win1251, не отображает (http://www.flasher.ru/forum/showthread.php?t=93977)

MINASTIS 05.04.2007 00:49

Я смогу завтра вечером все скинуть. Сейчас инета нет - через смарт сижу. Закину исходник сайта, его swf, все для гесты(файл с сообщениями и сам скрипт), и тестовую форму тоже.
Если есть Денвер было бы неплохо проверить. Кто знает может у меня с виндой/компом что-то не то. Поэтому на другом Денвере надо протестить будет ли та же проблема или нет. В общем завтра выложу архив.

Kikasso 05.04.2007 01:45

Нет, не сайта и не гестбука, ни в коем случае - только тестовые файлы. И смотри, чтоб все в 5 кб уложилось!:mad:

MINASTIS 05.04.2007 13:21

Вложений: 1
Вот архив. Весит меньше 5кб, гарантирую. =)

Kikasso 05.04.2007 15:06

А флешка где?

MINASTIS 05.04.2007 16:50

Вложений: 1
К сожалению в 5кб не уложился. Только в 7.:confused:

Кстати важная и более точная информация. Текст из флеша в скрипт приходит в ansi кодировке, хотя изначально файл с сообщениями состоит из текст utf-8 кодировки. Скрипт принимает текст ansi кодировки из флеша и подстраивает под него файл - перекодирует его. Но несмотря на это, даже если файл ansi кодировки становиться, сообщения (которые в ansi выглядят как "иероглифы") utf-8 русские исправно читаются во флеш. Но сообщения русские уже ansi кодировки флеш не воспринимает а иногда совсем не читает xml если там есть такие русские ansi буквы. Видимые решения проблемы: приходящий текст перкодировать в utf-8 и записывать его вфайл с сообщениями. Вопрос: функция iconv действительно может string перекодировать из ansi в utf-8?

Что-то не работает у меня iconv...
Код:

<?php
$filename = "guest/bookflash.dat";
$fd = fopen($filename, "r");
$prev = fread($fd, filesize($filename));
fclose($fd);
$allm = "<post>".$_GET['_message']."</post>";
$addall = "$allm$prev";
#$gonnatrim = $addall;
#$addall = trim($gonnatrim);
$addall = stripslashes($addall);
$addall = iconv("ANSI","UTF-8",$addall);
$fn = fopen($filename, "w");
fwrite($fn, $addall);
fclose($fn);
phpinfo();
?>

Там в описании написано что надо библиотеки специальные установить...
Я бы установил, но вопрос: каким образом их в инете устанавливать? На хостинге не будет ведь работать...
:O

iNils 05.04.2007 17:08

MINASTIS и Kikasso: Если ваше сообщение последнее в теме, то новый текст надо добавить к последнему, а не создавать новое.

Kikasso 05.04.2007 19:29

iNils, сорри исправлюсь. [off] IPB делает это автоматом, странно почему в VB это не предусмотрено. Ну это не обсуждается.. [/off]

MINASTIS, все у вас запутано. Все придется переделывать.
1) Данные надо посылать методом sendAndLoad. И разумеется POST. Вашим методом приходит мусор даже на локальном сервере.
2) В php есть великолепная команда echo для вывода данных. Где она у вас?
3) xml может иметь только один элемент верхнего уровня. Никого не волнует, как вы храните ваши данные, но выдавать их надо корректно. Или не надо делать вид, что это xml.

Так что домашнее задание: послать строку, записать ее в файл и отправить в ответ всю страницу, одним вызовом и одним объектом LoadVars. Разумеется POST.

Данные записывать построчно - одна запись, одна строка. XML потом.

MINASTIS 05.04.2007 21:08

Вложений: 1
Все сделал. Вроде все так. Кодировку меняет. Русский язык не воспринимает все так же =(.
Файл к сообщению приаттачил.

Kikasso 05.04.2007 23:09

1) в php у вас:
Код:

$allm = $_GET['_message']."\n";
Замените наконец на POST.
2) во флеше у вас:
Код:

avar.sendAndLoad("guestflash.php?_message="+pole.text, avar, "POST");
То что желтое, ничто иное как передача GET'ом.
После правки №1 у меня наконец сохранилось нормально, и локально и в сетке. И у вас заработает.

ANSI нет такой кодировки, есть Windows-1251, koi8-r, utf-8 и пр.

MINASTIS 05.04.2007 23:23

Спасибо большое! =)
Наконец заработало!


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

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