Форум программистов, компьютерный форум CyberForum.ru

Русский Post запрос в базу через http - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Android RIL http://www.cyberforum.ru/android-dev/thread1432177.html
Добрый день, надеюсь на вашу помощь. Создал прошивку для своего телефона, все что смог починить работает, кроме gps и сети. Самое интересное что сети он находит, но не может к ней подключиться. Тут мои наработки ТЫЦ сам конфиг уже потерпел некоторые изменения, но сеть так и не работает. На GPS пофигу, я знаю как его поднять хочется поднять сеть. Извиняюсь если я не в тему написал, но вариантов...
Программирование Android Необходимо разобраться как вставить в viewpager - carview Всем привет. Занимаюсь одним проектом и мне необходимо понять как добавить в viewpager к каждому экрану cardview. Скриншоты того, что получилось ниже. http://www.cyberforum.ru/android-dev/thread1432159.html
Отправка E-Mail средствами Android Программирование Android
Можно ли отправить письмо на почту из андроид приложения, оминая Intent.ACTION_SEND?
Программирование Android Ошибка навигации через TextView
Доброго времени суток. Суть проблемы такова: - У меня есть листвью с загруженными новостями; - Кастомный адаптер; - Кастомный лайаут для каждого. В кастомном лайауте попытался реализовать автоматическую навигацию по ссылкам в тексте средствами XML внутри самого компонента TextView: <TextView
Программирование Android Не срабатывает кнопка на втором экране http://www.cyberforum.ru/android-dev/thread1431840.html
package rus.projectdroid.numiz; import android.os.Debug; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button;
Программирование Android Почему onclicklistener void, а onlongclicklistener возвращает boolean? Похожие вещи, почему такое различие? как обычно используют boolean от onlongclicklistener? подробнее

Показать сообщение отдельно
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
28.04.2015, 21:27     Русский Post запрос в базу через http
Я конвертил русские символы на клиенте в UTF-8, так получается двойная кодировка. А на сервере, делал обратную процедуру уже средствами php. Есть код на VBA, думаю разберетесь. Писал я его с java примера.
Кликните здесь для просмотра всего текста
Visual Basic
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
66
67
68
69
70
71
72
73
'************************************************************************************
'********Набор функций для кодирования русских символов для передачи в скрипт php****
'************************************************************************************
Public Function URLEncode(url As String) As String
    URLEncode = URLEncodeByUTF8(EncodeUTF8(url))
End Function
 
Public Function URLEncodeByUTF8(sRawURL As String) As String
On Error GoTo Catch
Dim iLoop As Integer
Dim sRtn As String
Dim sTmp As String
Const sValidChars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz:/.?=_-$(){}~&"
 
    If Len(sRawURL) > 0 Then
        For iLoop = 1 To Len(sRawURL)
            sTmp = Mid(sRawURL, iLoop, 1)
            If InStr(1, sValidChars, sTmp, vbBinaryCompare) = 0 Then
                ' If not ValidChar, convert to HEX and prefix with %
                sTmp = Hex(Asc(sTmp))
                If sTmp = "20" Then
                    sTmp = "+"
                ElseIf Len(sTmp) = 1 Then
                    sTmp = "%0" & sTmp
                Else
                    sTmp = "%" & sTmp
                End If
            End If
            sRtn = sRtn & sTmp
        Next iLoop
        URLEncodeByUTF8 = sRtn
     End If
Finally:
     Exit Function
Catch:
     URLEncodeByUTF8 = ""
     Resume Finally
End Function
 
Function ToLong(intVal) As Long
    If intVal < 0 Then
        ToLong = CLng(intVal) + &H10000
    Else
        ToLong = CLng(intVal)
    End If
End Function
 
'кодируем символы в UTF-8
Function EncodeUTF8(s$) As String
Dim i, c, utfc, b1, b2, b3
    For i = 1 To Len(s)
        c = ToLong(AscW(Mid(s, i, 1)))
 
        If c < 128 Then
            utfc = Chr(c)
        ElseIf c < 2048 Then
            b1 = c Mod &H40
            b2 = (c - b1) / &H40
            utfc = Chr(&HC0 + b2) & Chr(&H80 + b1)
        ElseIf c < 65536 And (c < 55296 Or c > 57343) Then
            b1 = c Mod &H40
            b2 = ((c - b1) / &H40) Mod &H40
            b3 = (c - b1 - (&H40 * b2)) / &H1000
            utfc = Chr(&HE0 + b3) & Chr(&H80 + b2) & Chr(&H80 + b1)
        Else
            utfc = Chr(&HEF) & Chr(&HBF) & Chr(&HBD) 'Младший или старший суррогат UTF-16
        End If
 
        EncodeUTF8 = EncodeUTF8 + utfc
    Next
End Function
'************************************************************************************
'************************************************************************************


В итоге строка вида:
HTML5
1
http://mysite.ru/scripts.php?name=Привет
Должна выглядеть так:
HTML5
1
http://mysite.ru/scripts.php?name=%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82
Добавлено через 9 минут
Ну а в самом php-скрипте используется функция urldecode
PHPHTML
1
echo urldecode('%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82');
Результатом будет: Привет
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru