Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   русские текстовые поля + РНР (http://www.flasher.ru/forum/showthread.php?t=62684)

N@T 03.09.2004 11:03

русские текстовые поля + РНР
 
Привет. Нужна квалифицированная помощь,чтоб совладать с текстом.Существуют две проблемы:
1) Есть текстовое поле MyTxt.В него загружаю из файла **.txt пееменную MyTxt=блаблабла на русском \xFFзыке. Шрифт MyTxt-a кирилицу поддерживает, но при загрузке вместо русских слов я вижу квадратики. Как это исправить? 2)Мне необходимо сделать форум.Следовательно я должна сохранять сообщения в файл.Я написала на РНР отдельный файл с кодом:
<?php
$f = fopen("History.txt", "a+");
fwrite($f, $login);
fwrite($f, $soobsh);
fclose($f);
?>
Как мне его вызвать,чтоб он мне инпутовские переменные из флаша login и soobsh зарисал а файл History.txt ?

@leksey 03.09.2004 13:06

Старое решение
 
Была у меня, как-то, проблема с передачей кирилицы с флаш в пхп. Но это было еще в версии 5. Сейчас может решили проблему - я не знаю. Судя по описанию у тебя проблемы с кодировкой.

Я тогда использовал функции декодирования, чтобы передавать не кирилицу, а латиницу. В этом случае все проблемы отпадают сами собой, да и данные можно хранить в зашифрованом виде, а можно и в обычном.

Для пхп: с полученой латиницы делает кирилицу в кодировке charset=cp866
В нтмл следует прописать <meta http-equiv="Content-Type" content="text/html; charset=cp866">
Функция может пригодиться если переданую инфу нужно показывать на HTML страницах.
function cyrdecode($str){
$engstr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!?#$@%&<>+=";
$cyrstr="ЂЃ‚ѓ„…†‡?‰Љ‹ЊЌЋЏђ‘’“”•–—?™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬*®ЇабвгдежзийклмнопфхIiЈрсту";
$newstr="";
for($i=0; $i<strlen($str); $i++){
if($str[$i]==chr(9)){
codechar=$str[$i+1];$poscodechar=strpos($engstr,$codechar);$newstr=$newstr.$cyrstr[$poscodechar];$i++;
}else{
$newstr=$newstr.$str[$i];}
};
return $newstr;
};

Для флаш: 2 функции декодировки и кодировки
function cyrcode(str){
engstr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!?#$@%&<>+=";
cyrstr="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяЇїІіґЁёЄє";
newstr="";
for(i=0; i<str.length; i++){
pos=cyrstr.indexOf(str.charAt(i));
if(pos<>-1){newstr+=chr(9)+engstr.charAt(pos);}else{newstr+=str.charAt(i);}
};
return newstr;
};
function cyrdecode(str){
engstr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!?#$@%&<>+=";
cyrstr="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяЇїІіґЁёЄє";
newstr="";
for(i=0; i<str.length; i++){
if(str.charAt(i)==chr(9)){
codechar=str.charAt(i+1);poscodechar=engstr.indexOf(codechar);newstr+=cyrstr.charAt(poscodechar);i++;
}else{
newstr+=str.charAt(i);}
};
return newstr;
};


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

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