PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → WX - Retorno com caracteres Chines / Japones
WX - Retorno com caracteres Chines / Japones
Débuté par adrianoboller, 27 mai 2015 16:58 - 8 réponses
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 16:58
Na Ramificação do Projeto (P)

No "P"

Click com o direito do mouse e escolha: "Project Description"

Isso vale pra todos WX, localize o botão inferior da primeira aba: "Describing the Current Configuation"

Na ABA/TAB: "UNICODE"

Mude de Unicode para [x] ANSI

OK

Video Explicativo:

http://screencast.com/t/fhT2j1qu
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 19 septembre 2015 - 21:26
OBS. : E se ainda tiver problemas use antes de qualquer codigo esse comando:

ChangeCharset(charsetOccidental) // SEM ACENTO


--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 21 septembre 2015 - 21:35
Procedure WS_RemoveAcentos(LOCAL Texto )

ChangeCharset(charsetOccidental) // SEM ACENTO

nTamanho is int = Length(Texto)
Texto = Replace(Texto,CRLF,"")
Texto = Replace(Texto,TAB," ")
Texto = Replace(Texto,ESC,"")

Texto = Replace(Texto,"A£","a")
Texto = Replace(Texto,"ã","a")
Texto = Replace(Texto,"£","")
Texto = Replace(Texto,"á","a")
Texto = Replace(Texto,"é","e")
Texto = Replace(Texto,"í","i")
Texto = Replace(Texto,"ó","o")
Texto = Replace(Texto,"ú","u")// adicionado por celio
Texto = Replace(Texto,"Á","A")//Á
Texto = Replace(Texto,"A","A")//Á
Texto = Replace(Texto,"É","E") //É
Texto = Replace(Texto,"Í","I") //Í
Texto = Replace(Texto, "Ó","O")//Ó
Texto = Replace(Texto, "Ú","U")//Ú

Texto = Replace(Texto,"Â","A") // Â
Texto = Replace(Texto,"Ô","O") // Ô
Texto = Replace(Texto,"A•","O")
Texto = Replace(Texto,"Õ","O")
Texto = Replace(Texto,"¡","")
Texto = Replace(Texto,"â","a")
Texto = Replace(Texto,"¢","")
Texto = Replace(Texto,"õ","o")
Texto = Replace(Texto,"µ","O")
Texto = Replace(Texto,"Áº","u")
Texto = Replace(Texto,"Aº","u")
Texto = Replace(Texto,"º","u")
Texto = Replace(Texto,"Ã","A")
Texto = Replace(Texto,"ƒ","")
Texto = Replace(Texto,"Ê","E")
Texto = Replace(Texto,"©","")
Texto = Replace(Texto,"ê","e")
Texto = Replace(Texto,"ª","")
Texto = Replace(Texto,"ô","o")
Texto = Replace(Texto,"´","")
Texto = Replace(Texto,"Aµ","O")
Texto = Replace(Texto,"µ","")
Texto = Replace(Texto,"ó","O")
Texto = Replace(Texto,"³","")
Texto = Replace(Texto,"A“","O")
Texto = Replace(Texto,"“","")
Texto = Replace(Texto,"Aº","U")
Texto = Replace(Texto,"º","")
Texto = Replace(Texto,"ç","c")
Texto = Replace(Texto,"§","")
Texto = Replace(Texto,"Ç","C")
Texto = Replace(Texto,"‡","")
Texto = Replace(Texto,"ãO","AO")
Texto = Replace(Texto,"£","")
Texto = Replace(Texto,"É","E")
Texto = Replace(Texto,"‰","")
Texto = Replace(Texto,"Ã%","E")
Texto = Replace(Texto,"A£","a")
Texto = Replace(Texto,"£","")
Texto = Replace(Texto,"","")
Texto = Replace(Texto,"¡","")
Texto = Replace(Texto,"¢","")
Texto = Replace(Texto,"~a","a")
Texto = Replace(Texto,"ã","a")
Texto = Replace(Texto,"á","a")
Texto = Replace(Texto,"à","a")
Texto = Replace(Texto,"â","a")
Texto = Replace(Texto,"ä","a")

Texto = Replace(Texto,"~e","e")
Texto = Replace(Texto,"é","e")
Texto = Replace(Texto,"è","e")
Texto = Replace(Texto,"ê","e")
Texto = Replace(Texto,"ë","e")

Texto = Replace(Texto,"~i","i")
Texto = Replace(Texto,"í","i")
Texto = Replace(Texto,"ì","i")
Texto = Replace(Texto,"î","i")
Texto = Replace(Texto,"ï","i")

Texto = Replace(Texto,"~o","o")
Texto = Replace(Texto,"õ","o")
Texto = Replace(Texto,"ó","o")
Texto = Replace(Texto,"ò","o")
Texto = Replace(Texto,"ô","o")
Texto = Replace(Texto,"ö","o")

Texto = Replace(Texto,"~u","u")
Texto = Replace(Texto,"ú","u")
Texto = Replace(Texto,"ù","u")
Texto = Replace(Texto,"û","u")
Texto = Replace(Texto,"ü","u")

Texto = Replace(Texto,"ç","c")
Texto = Replace(Texto,"Ç","C")


Texto = Replace(Texto,"~A","A")
Texto = Replace(Texto,"Ã","A")
Texto = Replace(Texto,"Á","A")
Texto = Replace(Texto,"À","A")
Texto = Replace(Texto,"Â","A")
Texto = Replace(Texto,"Ä","A")

Texto = Replace(Texto,"~E","E")
Texto = Replace(Texto,"É","E")
Texto = Replace(Texto,"È","E")
Texto = Replace(Texto,"Ê","E")
Texto = Replace(Texto,"Ë","E")

Texto = Replace(Texto,"~I","I")
Texto = Replace(Texto,"Í","I")
Texto = Replace(Texto,"Ì","I")
Texto = Replace(Texto,"Î","I")
Texto = Replace(Texto,"Ï","I")

Texto = Replace(Texto,"~O","O")

Texto = Replace(Texto,"Õ","O")
Texto = Replace(Texto,"Ó","O")
Texto = Replace(Texto,"Ò","O")
Texto = Replace(Texto,"Ô","O")
Texto = Replace(Texto,"Ö","O")

Texto = Replace(Texto,"~U","U")
Texto = Replace(Texto,"Ú","U")
Texto = Replace(Texto,"Ù","U")
Texto = Replace(Texto,"Û","U")
Texto = Replace(Texto,"Ü","U")

//Remove caracteres htmls
Texto = Replace(Texto,"<","") //html
Texto = Replace(Texto,">","") //html
Texto = Replace(Texto,""","") //html
Texto = Replace(Texto,"&","") //html
Texto = Replace(Texto,"Œ","") //html
Texto = Replace(Texto,"œ","") //html
Texto = Replace(Texto,"Š","") //html
Texto = Replace(Texto,"š","") //html
Texto = Replace(Texto,"Ÿ","") //html
Texto = Replace(Texto,"ˆ","") //html
Texto = Replace(Texto,"˜","") //html
Texto = Replace(Texto," ","") //html
Texto = Replace(Texto," ","") //html
Texto = Replace(Texto," ","") //html
Texto = Replace(Texto,"‌","") //html
Texto = Replace(Texto,"‍","") //html
Texto = Replace(Texto,"‎","") //html
Texto = Replace(Texto,"‏","") //html
Texto = Replace(Texto,"–","") //html
Texto = Replace(Texto,"—","") //html
Texto = Replace(Texto,"‘","") //html
Texto = Replace(Texto,"’","") //html
Texto = Replace(Texto,"‚","") //html
Texto = Replace(Texto,"“","") //html
Texto = Replace(Texto,"”","") //html
Texto = Replace(Texto,"„","") //html
Texto = Replace(Texto,"†","") //html
Texto = Replace(Texto,"‡","") //html
Texto = Replace(Texto,"‰","") //html
Texto = Replace(Texto,"‹","") //html
Texto = Replace(Texto,"›","") //html
Texto = Replace(Texto,"€","") //html

Texto = WS_RemoveCaractAscII(Texto)

//Texto = Capitalize(Texto)

RESULT(Texto)


--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 21 septembre 2015 - 21:36
Procedure WS_RemoveCaractAscII(LOCAL Texto is string)

nTotal is int = Length(Texto)
nPos01 is int = 0
Busca is string = ""

Texto = Replace(Texto,"<?xml version="+Charact(34)+"1.0"+Charact(34)+" encoding="+Charact(34)+"utf-8"+Charact(34)+"?>","<?xml version="+Charact(34)+"1.0"+Charact(34)+"?>")

aZ09 is string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]0123456789'&*()_+=-,.!@#$%?>.<:{}|/\" +Charact(34)


IF Texto <> "" THEN

LOOP (nTotal)

nPos01 += 1

IF nPos01 > 0 THEN

Busca = Texto[[nPos01]]

IF PositionOccurrence(aZ09,Busca,firstRank,FromBeginning) = 0 AND Busca <> Null THEN
Texto[[nPos01]] = ""
END

END

END

END

RESULT(Texto)


--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 21 septembre 2015 - 21:37
Procedure WS_RemoveCaracteresRota(LOCAL XmlResultado)

XmlResultado = Capitalize(WS_RemoveAcentos(XmlResultado))

XmlResultado = Replace(XmlResultado,"Matriz,","")

XmlResultado = Replace(XmlResultado,"Matriz","")

XmlResultado = Replace(XmlResultado,";","")

XmlResultado = Replace(XmlResultado,"@","")

XmlResultado = Replace(XmlResultado,"?","")

XmlResultado = Replace(XmlResultado,"#","")

XmlResultado = Replace(XmlResultado,"`","")

XmlResultado = Replace(XmlResultado,"~","")

XmlResultado = Replace(XmlResultado,"{","")

XmlResultado = Replace(XmlResultado,"}","")

//1234567890123456789012345678901234567890
//<?xml version="1.0" encoding="UTF-8"?>
Resultado is string = Lower(XmlResultado)
IF PositionOccurrence(Resultado,"<?xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?Xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?Xml Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?XML Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?XML VERSION",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END

IF PositionOccurrence(Resultado,"<xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<Xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<Xml Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<XML Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<XML VERSION",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END

RESULT(XmlResultado)


--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 21 septembre 2015 - 21:39
Procedure WS_Android_IOS_HTTPGetResult()

// Variable
bufResHTTP is Buffer
sHTTPResult is string

// Retrieves the result of the query
bufResHTTP = HTTPGetResult(httpResult)

// Result in UTF8 em iOS Apple
IF IniOSMode() = True OR IniOSSimulatorMode() = True OR IniOSEmulatorMode() = True
IF StringCount(bufResHTTP, “ISO-8859-1, IgnoreCase) = 0 THEN
sHTTPResult = UTF8ToString(bufResHTTP)
ELSE
sHTTPResult = AnsiToUnicode(bufResHTTP)
END
ELSE IF InAndroidMode() = True OR InAndroidSimulatorMode() = True OR InAndroidEmulatorMode() = True
// Result in Android
sHTTPResult = bufResHTTP
END

RESULT sHTTPResult


--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 21 septembre 2015 - 21:39
Procedure WS_Android_iOs_ReadXml(XML_Retorno is string, Xml_Atributo is string )
IF GloDebugSN = "S" THEN
Info("WS_Android_iOs_ReadXml")
END
//Exemplo de Uso:
// sXML_Retornox is string = [
//<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
//xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
//<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
//xmlns:NS1="urn:act297_RtPlusSSDM-IRtPlusSSDM">
//<NS1:VerificarVersaoDeTabelasResponse xmlns:NS2="urn:act297_RtPlusSSDM">
//<NS2:TVersaoTabelas id="1" xsi:type="NS2:TVersaoTabelas">
//<datHoraMotivos xsi:type="xsd:string">2013-07-11T17:15:33</datHoraMotivos>
//<qtdMotivos xsi:type="xsd:int">3</qtdMotivos>
//<datHoraCartoes xsi:type="xsd:string">2013-07-01T12:00:00</datHoraCartoes>
//<qtdCartoes xsi:type="xsd:int">6</qtdCartoes>
//<datHoraPesquisa xsi:type="xsd:string">2013-07-10T12:14:42</datHoraPesquisa>
//<qtdPesquisa xsi:type="xsd:int">4</qtdPesquisa>
//</NS2:TVersaoTabelas>
//<return href="#1"/>
//</NS1:VerificarVersaoDeTabelasResponse>
//</SOAP-ENV:Body>
//</SOAP-ENV:Envelope>
// ]
//
// XML_Retorno = sXML_Retornox
//
// Uso da Funcao:+-+-
//arrTemp is array of strings = WS_Android_iOs_ReadXml(XML_Retorno,"NS2:TVersaoTabelas")

arrXml_TagResult is array of strings
xposicaoinicial is int = 0
Xposicaofinal is int = 0
X is int = 0
arrXml_Tag is array of strings
XML_Retorno = WS_RemoveAcentos(XML_Retorno)
XML_Retorno = Replace(XML_Retorno,CRLF,"")
XML_Retorno = Replace(XML_Retorno,CR,"")
Inicial is int = PositionOccurrence(XML_Retorno,"<"+Xml_Atributo,firstRank,FromBeginning+IgnoreCase)
Final is int = PositionOccurrence(XML_Retorno,"</"+Xml_Atributo+">",lastRank,FromEnd+IgnoreCase) +Length("</"+Xml_Atributo+">")
XML_Retorno = Middle(XML_Retorno,Inicial,Final - Inicial)
XML_Retorno = Replace(XML_Retorno,Xml_Atributo,"NoXml")
XML_Retorno = "<Xml><Retorno>"+XML_Retorno+"</Retorno></Xml>"
IF GloDebugSN = "S" THEN
Info("recorte",XML_Retorno)
END
nTotalxml is int = Length(XML_Retorno)

LOOP (nTotalxml)

X++
IFxposicaoinicial = 0 AND Xposicaofinal = 0 AND XML_Retorno[[X]] = "<" THEN
X++
IF XML_Retorno[[X]] = "/" THEN
xposicaoinicial = X + 1
END
END
IF xposicaoinicial > 0 AND XML_Retorno[[X]] = ">" THEN
Xposicaofinal = X
END
IF Xposicaofinal > 0 AND xposicaoinicial > 0 THEN
stag is string = Middle(XML_Retorno,xposicaoinicial,Xposicaofinal - xposicaoinicial)
IF stag="NoXml" THEN
BREAK
END
Add(arrXml_Tag, stag)
Xposicaofinal = 0
xposicaoinicial = 0
END

END
//info("count tags ",ArrayCount(arrXml_Tag))
//iOS - Apple (iPhone / iPad / iPod)
IF IniOSMode() = True THEN

NoXml is string
i is int = 0
LOOP
i++
NoXml = XMLExtractString(XML_Retorno,"NoXml",i)
IF NoXml = "" THEN

BREAK

END
FOR EACH stag OF arrXml_Tag

temp is string = XMLExtractString(NoXml,stag)
Add(arrXml_TagResult, temp )

END
END

//Android
ELSE IF InAndroidMode() = True

XmlDoc is XMLDocument
XmlDoc = XMLOpen(XML_Retorno, fromString)
NoXml is xmlNode

FOR EACH NoXml OF XmlDoc.Xml.Retorno on NoXml

FOR EACH sTag OF arrXml_Tag

Add(arrXml_TagResult,NoXml..ChildNode[sTag])

END

END

END

RESULT arrXml_TagResult


--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 24 mars 2016 - 20:47
Prezados,

Caso de problema com acentuação, use:

Esse comando chegou a testar?

retorno is string = UFT8toString(textocomacento)

USE O COMANDO UTF8ToString OU AnsiToUnicode

ProcedureWS_Android_IOS_HTTPGetResult()

// Variable
bufResHTTP is Buffer
sHTTPResult isstring

// Retrieves the result of the query
bufResHTTP=HTTPGetResult(httpResult)

// Result in UTF8 em iOS Apple
IFIniOSMode() =TrueORIniOSSimulatorMode() =TrueORIniOSEmulatorMode() =True
IFStringCount(bufResHTTP, “ISO-8859-1,IgnoreCase) =0THEN
sHTTPResult=UTF8ToString(bufResHTTP)
ELSE
sHTTPResult=AnsiToUnicode(bufResHTTP)
END
ELSE IFInAndroidMode() =TrueORInAndroidSimulatorMode() =TrueORInAndroidEmulatorMode() =True
// Result in Android
sHTTPResult=bufResHTTP
END

RESULTsHTTPResult


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.blogspot.com.br/