11.07.2006, 16:07 | #12 |
Moderator
|
Цитата:
Сообщение от Aleksey_M
Щас еще глянул - в ie у меня стоит галка в настройках "конвертировать url адреса в utf-8", а оно на это забивает
Цитата:
Сообщение от Aleksey_M
На стороне сервера принудительное конвертирование делать не хочется
Цитата:
Сообщение от belugin
вставьте в строку браузера javascript:alert(encodeURIComponent('запрос два')) и нажмите Enter
По этим мотивам родил VBA-шную функцию, возвращающую юникодное представление исходной нормальной строки: Код: 'Код - Excel VBA Function myEncodeURIComponent(SourceString) As String 'в Tools/References должна быть включена ссылка на "Microsoft Internet Controls" (shdocvw.dll) Static IE As InternetExplorer 'после первого вызова функции IE сохраняется в памяти для последующих вызовов If IE Is Nothing Then 'для первого вызова, пока IE еще не определен Set IE = New InternetExplorer IE.Visible = True 'на время отладки End If If SourceString = "" Then 'если передана пустая строка, то выгружаем нашу служебную копию IE IE.Quit Set IE = Nothing myEncodeURIComponent = "" Exit Function End If IE.Navigate "javascript:encodeURIComponent('" & SourceString & "')" 'Thanks to belugin myEncodeURIComponent = IE.Document.Body.InnerText End Function Однако, может быть, можно придумать что-нибудь более элегантное? (т.е. без подъёма доп. копии IE только для того, чтобы конвертить строки в юникод). В Excel VBA ничего похожего не нашёл, так же, как не нашёл библиотеку для References, "отвечающую" за javascript. Может быть, есть какое-нибудь гуманное конвертило в юникод, которое можно встроить в VBA-функцию? |
|
Теги |
как правильно, поиск, разделы, форум |
|
Похожие темы | ||||
Тема | Ответов | |||
Опрос: какое время можно уделять форуму? | 15 |
|