Вверх ↑
Этот топик читают: Гость
Ответов: 3514
Рейтинг: 184
#1: 2009-04-02 12:43:16 ЛС | профиль | цитата
Сайт, к которому я делаю свою утиллиту отправляет текстовые данные (кирилицу) в своем запросу в крякозябрах:



Это UTF-8, воспринятый как Win-1252. Очевидно, сервер воспринимает данные только в таких крякозябрах (проверено )

Как мне конвертировать текст вот в такое чудо?

карма: 0
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#2: 2009-04-02 13:24:00 ЛС | профиль | цитата
Можно использовать CharSet вот в таком режиме


Add(Charset,15711881,147,273)
{
Type=8
}

Номер кодовой страницы UTF-8 -- 65001, Win-1252 -- 1252
карма: 22

0
Ответов: 3514
Рейтинг: 184
#3: 2009-04-02 13:31:37 ЛС | профиль | цитата
Пробовал. Результат - ?? ????? ??? ?
карма: 0
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#4: 2009-04-02 13:37:01 ЛС | профиль | цитата
Астрамак, а ты текст можешь выложить не картинкой Да и исходный, тоже
карма: 22

0
Ответов: 3514
Рейтинг: 184
#5: 2009-04-02 13:42:05 ЛС | профиль | цитата
Картинка с Википедии (там снизу)

Посылаю следующий POST запрос:
code_12542.txt

Однако мой FireFox отправляем данные на сервер (только кирилицу) в виде вышеуказанных крякозябр. И всё ок.
карма: 0
0
файлы: 1code_12542.txt [1.4KB] [203]
Разработчик
Ответов: 26163
Рейтинг: 2127
#6: 2009-04-02 13:51:56 ЛС | профиль | цитата
Астрамак писал(а):
Однако мой FireFox отправляем данные на сервер (только кирилицу)

И где эта кириллица, в POST-запросе ее нет
карма: 22

0
Ответов: 3514
Рейтинг: 184
#7: 2009-04-02 13:55:06 ЛС | профиль | цитата
Есть.
------------ Дoбавленo:

code12542 писал(а):
Content-Disposition: form-data; name="entry[data_part_2]"

Заголовок
-----------------------------41184676334
Content-Disposition: form-data; name="entry[data_part_1]"

Текст

карма: 0
0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2009-04-02 13:55:57 ЛС | профиль | цитата
это UNICODE или UTF-16
карма: 27
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#9: 2009-04-02 14:00:29 ЛС | профиль | цитата
Dilma писал(а):
это UNICODE или UTF-16

А вот это дело у нас не поддерживается
карма: 22

0
Ответов: 3514
Рейтинг: 184
#10: 2009-04-02 14:02:38 ЛС | профиль | цитата
Dilma писал(а):
это UNICODE или UTF-16

Что именно?

Nesco, почему?
карма: 0
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#11: 2009-04-02 14:12:31 ЛС | профиль | цитата
Астрамак писал(а):
Nesco, почему?

Читай мой пост про UTF-16

http://www.hiasm.1gb.ru/forum.html?q=3&p=76862#p76862
карма: 22

0
Ответов: 3514
Рейтинг: 184
#12: 2009-04-02 14:39:34 ЛС | профиль | цитата
Да не 16 это..
карма: 0
0
Ответов: 5227
Рейтинг: 587
#13: 2009-04-02 14:44:59 ЛС | профиль | цитата

#bas
'Convert ASCII to UTF-8
'Convert plain text files to UTF-8 with ADODB.Stream
'VBScript Code:

Option Explicit

Dim objFSO, strFileIn, strFileOut

strFileIn = WScript.ScriptName

Set objFSO = CreateObject( "Scripting.FileSystemObject" )
strFileOut = objFSO.GetBaseName( strFileIn ) & "_utf8.txt"
Set objFSO = Nothing

UTF8 strFileIn, strFileOut


Function UTF8( myFileIn, myFileOut )
' UTF8() Version 1.00
' Open a "plain" text file and save it again in UTF-8 encoding
' (overwriting an existing file without asking for confirmation).
'
' Based on a sample script from JTMar:
' http://bytes.com/groups/asp/52959-save-file-utf-8-format-asp-vbscript
'
' Written by Rob van der Woude
' http://www.robvanderwoude.com

Dim objStream

' Valid Charset values for ADODB.Stream
Const CdoBIG5 = "big5"
Const CdoEUC_JP = "euc-jp"
Const CdoEUC_KR = "euc-kr"
Const CdoGB2312 = "gb2312"
Const CdoISO_2022_JP = "iso-2022-jp"
Const CdoISO_2022_KR = "iso-2022-kr"
Const CdoISO_8859_1 = "iso-8859-1"
Const CdoISO_8859_2 = "iso-8859-2"
Const CdoISO_8859_3 = "iso-8859-3"
Const CdoISO_8859_4 = "iso-8859-4"
Const CdoISO_8859_5 = "iso-8859-5"
Const CdoISO_8859_6 = "iso-8859-6"
Const CdoISO_8859_7 = "iso-8859-7"
Const CdoISO_8859_8 = "iso-8859-8"
Const CdoISO_8859_9 = "iso-8859-9"
Const cdoKOI8_R = "koi8-r"
Const cdoShift_JIS = "shift-jis"
Const CdoUS_ASCII = "us-ascii"
Const CdoUTF_7 = "utf-7"
Const CdoUTF_8 = "utf-8"

' ADODB.Stream file I/O constants
Const adTypeBinary = 1
Const adTypeText = 2
Const adSaveCreateNotExist = 1
Const adSaveCreateOverWrite = 2

On Error Resume Next

Set objStream = CreateObject( "ADODB.Stream" )
objStream.Open
objStream.Type = adTypeText
objStream.Position = 0
objStream.Charset = CdoUTF_8
objStream.LoadFromFile myFileIn
objStream.SaveToFile myFileOut, adSaveCreateOverWrite
objStream.Close
Set objStream = Nothing

If Err Then
UTF8 = False
Else
UTF8 = True
End If

On Error Goto 0
End Function



карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 3514
Рейтинг: 184
#14: 2009-04-02 14:50:06 ЛС | профиль | цитата
andrestudio, мне нужно конветировать кириллицу вот в это:



Смогёт? (какие точки нужно прописывать?)
------------ Дoбавленo:

Я так понимаю, это просто Httpheaders мне не верно показывает кирилицу (пытаясь показать в 1251)? А на сервер всё отправляется в utf-8?
карма: 0
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#15: 2009-04-02 14:59:04 ЛС | профиль | цитата
Насколько я понял, то это действительно перекодирование Win-1252 в UTF-8, но Win-1252 у нас, почему-то, автоматически пытается перекодировать в Win-1251, те в текущую, что приводит к потере символов в кодировке
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)