Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема кодировки (http://www.flasher.ru/forum/showthread.php?t=172329)

Srednas 07.12.2011 00:33

Проблема кодировки
 
Здравствуйте.

Ситуация: посылаю из флешки, через пхп-файл, письмо, на ящик приходят кракозябли.

Проблема с кодировокой (KOI8-R → UTF-8).
Но вот не могу понять где и как поправить.

Код:

Это приходит на почту:
п÷я─п╬п╡п╣я─п╨п╟

Код:
Код AS3:

                private function sendEmail(txt:String):void{
                                txt = "\n Проверка"; // проверка русского языка
                                var url_var:URLVariables = new URLVariables();
                                url_var.message = txt;
 
                                var request:URLRequest = new URLRequest(this.phpFile);
                                var loader:URLLoader = new URLLoader();
                                loader.dataFormat = URLLoaderDataFormat.TEXT;
                                request.data = url_var;
                                request.method = URLRequestMethod.POST;
                                loader.load(request)
                }

PHP код:

<?
$message 
$_POST['message'];
mail("address@domain.ru","Test"$message);
?>


Astraport 07.12.2011 00:52

PHP файл сохранить блокнотом в UTF-8

Это самое простое. Если не поможет, есть варианты с перекодировкой в PHP.

trng 07.12.2011 01:14

Если вы используете php-функцию "mail", может посмотрите её описание?
http://php.net/manual/ru/function.mail.php
Там есть несколько примеров как правильно работать с кодировкой utf.
Как по мне, то вот так лучше всего:
PHP код:

<?php
function plmail($mail$sub$mes){
    
$headers "From: ExRobot <robot@example.com>\r\n";
    
$headers .= "MIME-Version: 1.0\r\n"
    
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
    
$headers .="Content-Transfer-Encoding: 8bit";
    
    
$mes=htmlspecialchars_decode($mes,ENT_QUOTES);//optional - I use encoding to POST data
    
mail($mail"=?utf-8?B?".base64_encode($sub)."?="$mes$headers);
}
?>

Srednas, Тема относится к серверным технологиям. Не там спрашиваете.

P.S.
Ну а если вам мультибайтная кодировка не нужна, воспользуйтесь iconv для преобразования utf -> koi8

Добавлено через 4 минуты
P.P.S.
Из флеша в php текстовые строки попадают в кодировке utf-16, а не в utf-8.


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

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