Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 7
1

Искажается текст в ?

14.06.2017, 07:00. Просмотров 853. Ответов 1
Метки нет (Все метки)


Здравствуйте! Столкнулся с такой проблемой: при передаче картинки из ActionScript3 в php и кодировании в нее текста через разделитель искажаются русские буквы в ???, но при передаче отдельно пост-запроса все хорошо.

Код PHP:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
    if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
    {       
        $parts=explode("_s_", $GLOBALS["HTTP_RAW_POST_DATA"]);
        $posle = $parts[4];
        $doK = $parts[3];
        $userMail = $parts[2]; 
        $pass=$parts[1];
        $jpg = $parts[0];
        
        if($pass == "пароль")
        {
            $bound_text = "----*%$!$%*";
            $bound = "--".$bound_text."\r\n";
            $bound_last = "--".$bound_text."--\r\n";
            $to = 'plotnikovsp48@yandex.ru';
            $client_ip = $_SERVER['REMOTE_ADDR']; 
            $from = "моя почта";         
            $boundary = "---";  
            $headers = "From:".$from."\r\n";
            $headers .= "MIME-Version: 1.0\r\n" .
            "Content-Type: multipart/mixed; boundary=\"$bound_text\""."\r\n" ;
            
            $message = " you may wish to enable your email program to accept HTML \r\n".$bound;
            $message .=
            'Content-Type: text/html; charset=UTF-8'."\r\n".
            'Content-Transfer-Encoding: 7bit'."\r\n\r\n".
            '
 
            <html>
 
            <head>
            <style> p {color:green} </style>
            </head>
            <body>
 
            '.$doK.'
            <br>
            <img src="cid:selfie_track.jpg">
            <br>
            '.$posle.'
            </body>
 
            </html>'."\n\n".
            $bound;
            $message .= "Content-Type: image/jpeg; name=\"selfie_track.jpg\"\r\n"
            ."Content-Transfer-Encoding: base64\r\n"
            ."Content-ID: <selfie_track.jpg>\r\n"
            ."\r\n"
            .chunk_split(base64_encode($jpg))
            .$bound_last;
 
            $subject = 'Заголовок';
            $body .= "\n--".$boundary ."--\n"; 
            if (mail($to, $subject, $message, $headers)) 
            { 
                $response = 'send_succeed\r\n'; 
            } 
            else 
            { 
                $response = 'send_error\r\n'; 
            } 
            echo $response;
        }
    }
Код ActionSCript3:
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var jpgStream:ByteArray = new ByteArray();
bitmapdata.encode(new Rectangle(0,0, mySpriteImage.width, mySpriteImage.height), new JPEGEncoderOptions(), jpgStream);
var fileName:String="2w1@W!2w";
jpgStream.writeMultiByte("_s_"+fileName+"_s_"+mail + "_s_" + text_pre_image+ "_s_" + text_post_image, "us-ascii");
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var request:URLRequest = new URLRequest("http://testscript.php");
            
request.requestHeaders.push(header);
request.method = URLRequestMethod.POST;
request.data = jpgStream;
var urlloader:URLLoader = new URLLoader();
            
urlloader.addEventListener(Event.COMPLETE, function(e:Event):void
{
    trace(e.target.data);
});
urlloader.load(request);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2017, 07:00
Ответы с готовыми решениями:

Кодировка utf-8 искажается, когда пропускаю через функцию
Кодировка веб-странички - utf-8 Кодировка БД - utf8_general_ci Когда вывожу на страничку текст...

При печати текст искажается
Собственно вопрос в сабже. При печати получается то, что в прикреплённом скане. Прикрепил пример.

Искажается текст в мемо при редактировании
Привет всем, есть текст примерно такого формата йцуйцуй 41241241 ка23 пр34 4н3е3 удаляю...

искажается печатаемый текст в WORD 2003
При печати 1-й страницы, на которой от начала листа идет таблица, печатает 1-ю строку этой таблицы...

1
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 7
17.06.2017, 23:01  [ТС] 2
Всем спасибо! Решил, изменив код AS3:
ActionScript 3
1
jpgStream.writeMultiByte("_s_"+fileName+"_s_"+mail + "_s_" + text_pre_image+ "_s_" + text_post_image, "us-ascii");
на
ActionScript 3
1
jpgStream.writeMultiByte("_s_"+fileName+"_s_"+mail + "_s_" + text_pre_image+ "_s_" + text_post_image, "utf-8");
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2017, 23:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Почему искажается изображение?
Не могу понять откуда появляются полоски и искажение изображения. void ReadImage() { /* for...

Искажается иконка приложения
Добрый вечер! Почему у меня иконка у приложения, не как я задумал? И как решить эту проблему? ...

Почему искажается массив?
Вот такой фрагмент и результат его выполнения. Почему то искажается содержимое массива a после...

Lineage2: изображение сильно искажается
Я начинаю играть в Lineage2 и через 5-10 мин с экраном происходит вот это-экран сильно эскажается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.