Jump to content
Fivewin Brasil

Search the Community

Showing results for tags 'encoding=ISO-8859-1'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

There are no results to display.

Forums

  • FiveWin
    • WorkShop
    • Advantage Server
    • FiveScript
    • FiveWin Avaliação
    • TopConnect
    • Classes
    • Programação
    • FiveWin - Conversão de 16 bits para 32 bits
    • Seminário
    • Artigos / Tutoriais
    • Off - Topic
  • Suporte Estendido
    • Duvidas Gerais

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 1 result

  1. Estou tentando acessar um webservice que trabalha com encoding="ISO-8859-1" O problema é que o arquivo de retorno possui caracteres especiais e está gerando divergência nos dados. Cabeçalho do XML <?xml version="1.0" encoding="ISO-8859-1" ?> Trecho obtido do navegador: <nomeSegmento>Cacau em Pó</nomeSegmento> <nomeSegmento>Farinha de Linhaça</nomeSegmento> Ao criar um TXT com o retorno do XML para tratar: <nomeSegmento>Cacau em P?omeSegmento> <nomeSegmento>Farinha de Linha?/nomeSegmento> Notei que todos os caracteres especiais e os 2 subsequentes são substituidos por uma única interrogação, causando o problema citado acima **************************************************************************** METHOD Comunicar(cTipo, cFiltro) CLASS TAvantFiscal **************************************************************************** * * Comunicar no webservice * Parametros: cTipo, cFiltro * Retorno: lResult * * Autor: Samir * 06/05/2015 - 14:16:50 * **************************************************************************** local lResult := .T., cUrl := "", nContador := 0 Default cTipo := ::cTipoFiltro //-- Limpar variável de retorno no inicio para caso gere erro não mantenha o anterior ::cRetorno := "" //-- Seta maiusculo para o tipo cTipo := UT(cTipo) //-- Preencher a URL do webservice cUrl := ::cUrl cUrl += "?idIntegracao=" + ::cIdIntegracao cUrl += "&idCliente=" + ::cIdCliente cUrl += "&token=" + ::cToken //-- Verificar o tipo do filtro If cTipo = "D" //-- Data Default cFiltro := DtoC(::dFiltro) cUrl += "&dtFiltro="+cFiltro ElseIf cTipo = "E" //-- Ean - Código de Barras Default cFiltro := ::cEAN cUrl += "&ean="+cFiltro ElseIf cTipo = "N" //-- NCM - Nomenclatura Comum Mercosul Default cFiltro := ::cNCM cUrl += "&ncm="+cFiltro Else Msg("Tipo de filtro inválido, verifique.") Return .F. End //-- Instanciar o objeto do Internet Explorer Try ::oConecta := CreateObject( "MSXML2.XMLHTTP.3.0" ) Catch Try ::oConecta := CreateObject( "MSXML2.XMLHTTP" ) Catch Try ::oConecta := CreateObject( "Microsoft.XMLHTTP" ) catch Msg("Falha ao criar objeto de conexão."+ CRLF + "Verifique a versão do Internet Explorer e a conexão de internet.","Avant Fiscal") Return .F. End End End //HB_SetCodePage("PTISO") //-- Não resolveu //-- configura os parametros do wsdl ::oConecta:open("GET", cUrl, .F.) ::oConecta:SetRequestHeader( "Content-Type" , "text/xml; charset=utf-8" ) // ::oConecta:SetRequestHeader( "Content-Type" , "text/xml; charset=ISO-8859-1" ) //-- Não resolveu //-- envia o request TRY ::oConecta:send() CATCH oError Msg("Erro ao conectar ao site:;" + ::cUrl + CRLF + "Verifique a versão do Internet Explorer e a conexão de internet.","Avant Fiscal") Return .f. END //-- aguarda alguns segundos a resposta While ::oConecta:readyState <> 4 millisec(50) SysRefresh() nContador++ Barra(UT(nContador)+" de 100") //-- Teste para não permitir loop infinito If nContador > 100 Msg("Tempo limite de conexão atingido, verifique.","Avant Fiscal") Return .F. End End //-- Gravar o retorno na variável ::cRetorno := ::oConecta:responsetext ::TratarRetorno() Msg(::cRetorno,cUrl) //HB_SetCodePage("EN") //-- Não precisa, pois a alteração acima não resolveu return lResult /*------------------------------------------------------------------------*/ **************************************************************************** METHOD TratarRetorno() CLASS TAvantFiscal **************************************************************************** * * Tratar retorno do site * Parametros: * Retorno: * * Autor: Samir * 07/05/2015 - 16:39:02 * **************************************************************************** local cFileRetorno := "", hHandle := 0, oXml //Bulgarian Windows-1251 HB_CODEPAGE_BG1251 "BG1251" cpbgwin.c //Bulgarian MIK HB_CODEPAGE_BGMIK "BGMIK" cpbgmik.c //Croatien 1250 HB_CODEPAGE_HR1250 "HR1250" cphr1250.c //Croatien 437 HB_CODEPAGE_HR437 "HR437" cphr437.c //Croatien 852 HB_CODEPAGE_HR852 "HR852" cphr852.c //English 437 none "EN" cp_tpl.c //French 850 HB_CODEPAGE_FR "FR" cpfrdos.c //German 850 HB_CODEPAGE_DE "DE" cpgedos.c //German ISO-8859-1 HB_CODEPAGE_DEWIN "DEWIN" cpgewin.c //Greek (Dos) 737 HB_CODEPAGE_EL "EL" cpeldos.c //Greek WIN ANSI (1253) HB_CODEPAGE_ELWIN "ELWIN" cpelwin.c //Hungarian 852 HB_CODEPAGE_HU852 "HU852" cphu852.c //Hungarian Windows-1250 HB_CODEPAGE_HUWIN "HUWIN" cphuwin.c //Italian 437 HB_CODEPAGE_IT437 "IT437" cpit437.c //Italian 850 HB_CODEPAGE_IT850 "IT850" cpit850.c //Italian ISO-8859-1 HB_CODEPAGE_ITISO "ITISO" cpitiso.c //Italian ISO-8859-1b HB_CODEPAGE_ITISB "ITISB" cpitisb.c (with BOX chars) //Lithuanian Windows-1257 HB_CODEPAGE_LT "LT" cpltwin.c //Polish 852 HB_CODEPAGE_PL852 "PL852" cppl852.c //Polish ISO-8859-2 HB_CODEPAGE_PLISO "PLISO" cppliso.c //Polish Mazovia HB_CODEPAGE_PLMAZ "PLMAZ" cpplmaz.c //Polish Windows-1250 HB_CODEPAGE_PLWIN "PLWIN" cpplwin.c //Portuguese 850 HB_CODEPAGE_PT850 "PT850" cppt850.c //Portuguese ISO-8859-1 HB_CODEPAGE_PTISO "PTISO" cpptiso.c //Russian Windows-1251 HB_CODEPAGE_RU1251 "RU1251" cpruwin.c //Russian 866 HB_CODEPAGE_RU866 "RU866" cpru866.c //Russian KOI-8 HB_CODEPAGE_RUKOI8 "RUKOI8" cprukoi.c //Serbian Windows-1251 HB_CODEPAGE_SRWIN "SRWIN" cpsrwin.c //Slovenian 852 HB_CODEPAGE_SL852 "SL852" cpsl852.c //Slovenian ISO-8859-2 HB_CODEPAGE_SLISO "SLISO" cpsliso.c //Slovenian Windows-1250 HB_CODEPAGE_SLWIN "SLWIN" cpslwin.c //Spanish 850 HB_CODEPAGE_ES "ES" cpesdos.c //Spanish(Modern) ISO-8859-1 HB_CODEPAGE_ESMWIN "ESMWIN" cpesmwin.c //Spanish ISO-8859-1 HB_CODEPAGE_ESWIN "ESWIN" cpeswin.c //Ukrainian Windows-1251 HB_CODEPAGE_UA1251 "UA1251" cpuawin.c //Ukrainian 866 HB_CODEPAGE_UA866 "UA866" cpua866.c //Ukrainian KOI-8U HB_CODEPAGE_UAKOI8 "UAKOI8" cpuakoi.c //-- Nenhum desses tratamentos resolveu // HB_SetCodePage("PTISO") // Debuga HB_LangName() // cFileRetorno := DirExe() + "RetornoAF_ISO"+StrTran(Now(),":")+".xml" // CreateTxt(cFileRetorno, ::cRetorno ) // HB_SetCodePage("PT850") // Debuga HB_LangName() // cFileRetorno := DirExe() + "RetornoAF_850"+StrTran(Now(),":")+".xml" // CreateTxt(cFileRetorno, ::cRetorno ) // cFileRetorno := DirExe() + "RetornoAF_Translate850EN"+StrTran(Now(),":")+".xml" // CreateTxt(cFileRetorno, HB_Translate(::cRetorno,"PT850","EN") ) // cFileRetorno := DirExe() + "RetornoAF_OemtoAnsi"+StrTran(Now(),":")+".xml" // CreateTxt(cFileRetorno, OemToAnsi(::cRetorno ) ) // cFileRetorno := DirExe() + "RetornoAF_AnsitoOem"+StrTran(Now(),":")+".xml" // CreateTxt(cFileRetorno, AnsitoOem(::cRetorno ) ) cFileRetorno := DirExe() + "RetornoAF_"+StrTran(Now(),":")+".xml" CreateTxt(cFileRetorno, HB_AnsiToOem(::cRetorno) ) Msg("Arquivo criado") hHandle := FOpen( cFileRetorno ) IF hHandle == -1 Msg("Não foi possível abrir o XML!","Avant Fiscal") Else oXml := TXmlDocument():New( hHandle ) IF oxml:nStatus != HBXML_STATUS_OK Msg("Erro ao processar o arquivo:" + CRLF +; "na Linha: " + AllTrim( Str( oxml:nLine ) ) + CRLF +; "Erro: " + HB_XmlErrorDesc( oxml:nError ) + CRLF +; "Erro na Tag: " + oxml:oErrorNode:cName + CRLF +; "Início Tag na linha: " + AllTrim( Str( oxml:oErrorNode:nBeginLine ) ),"Avant Fiscal") End End fClose( hHandle ) fErase( cFileRetorno ) return /*------------------------------------------------------------------------*/
×
×
  • Create New...