| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Добрый день. 
		
		
		
		
		
		
		
	Необходима помощь в следующем вопросе: пытаюсь передать из аксапты, из диалогового окна, параметры запроса для отчета построенного в Report Server. Все параметры передаются вроде нормально, кроме тех которые в кириллице.Что делать с последними ума не приложу. Побывал конвертировать в utf8, при помощи utf8:ansi2itf8. Результат все-равно набор других таких же нечитабельных символов.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Там суть в том, что надо получить utf-8 в виде набора байт. Потом это надо представить в 16тиричном виде разделенными процентом. Т.е. Вы должны получить в итоге строку вида - %2f%d0%9e%d1%82%d1%87%d0%b5%d1%82%d1%8b.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			есть наработки в этом плане? кусок кода?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если у Вас четверка и выше используйте .NET напрямую 
		
		
		
		
		
		
		
		
			X++: string url = HttpUtility.UrlPathEncode("http://axforum.info/");Последний раз редактировалось _scorp_; 22.06.2010 в 13:31.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: belugin (2). | |
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Параметры я передаю из аксапты... 
		
		
		
		
		
		
		
	X++: MenuFunction    menuFunction;
    Args            args;
    ;
    menuFunction    = new MenuFunction(menuItemOutputStr(ReportForm),MenuItemType::Output);
    args            = new Args();
    args.parm(strfmt("param1=%1¶m2=%2","параметр1","параметр2"));
    menuFunction.run(Args);
    menuFunction.wait(); | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			посмотрите WebSession::createUrlParamStr 
		
		
		
		
		
		
			
		
		
		
		
	X++: ...
    else if(ws && ws.coMmode())
    {
        iisServer = new IISServer();
        buffer.appendText(iisServer.urlEncode(encryptedValue));
    }
    else
    {
        buffer.appendText(WebLet::formatHTMLText(encryptedValue));
    }iisServer - вроде правильное я бы послушал совета _scorp_  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			кроме того, есть класс SysUrlEncoder. 
		
		
		
		
		
		
			
		
		
		
		
	он вроде совсем правильно работает. Но я бы все равно воспользовался советом _scorp_ исходя из соображений производительности  
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			1. напрямую использовать .NET у меня не получилось. Пробовал так: 
		
		
		
		
		
		
		
	X++: System.Web.HttpUtility  HttpUtility = new HttpUtility();2.SysUrlEncoder - возвращает мне данные не в том формате, который правильно интерпретирует отчет. Т.е. к примеру, надо передать в параметр отчета букву "Б". SysUrlEncoder возвращает %411. А мне(точнее отчету) надо %d0%91.  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от zelibobis
			 
 
			1. напрямую использовать .NET у меня не получилось. Пробовал так: 
		
	X++: System.Web.HttpUtility  HttpUtility = new HttpUtility();2.SysUrlEncoder - возвращает мне данные не в том формате, который правильно интерпретирует отчет. Т.е. к примеру, надо передать в параметр отчета букву "Б". SysUrlEncoder возвращает %411. А мне(точнее отчету) надо %d0%91. X++: static void testUrl(Args _args) { str url; ; url = System.Web.HttpUtility::UrlPathEncode("Б"); info(url); //%d0%91 }  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: zelibobis (1). | |
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 | 
| 
	
 | 
| Теги | 
| ax2009, reporting services, кодировка, полезное, параметры | 
| 
	
	 | 
	
		
  |