diff --git a/JSONFox.PJT b/JSONFox.PJT index a136c78..9aa1848 100644 Binary files a/JSONFox.PJT and b/JSONFox.PJT differ diff --git a/JSONFox.pjx b/JSONFox.pjx index 06c7999..4c6e112 100644 Binary files a/JSONFox.pjx and b/JSONFox.pjx differ diff --git a/jsonfox.app b/jsonfox.app index ef5bcf0..dae667a 100644 Binary files a/jsonfox.app and b/jsonfox.app differ diff --git a/src/cursortoarray.prg b/src/cursortoarray.prg index 27e326f..fd7dead 100644 --- a/src/cursortoarray.prg +++ b/src/cursortoarray.prg @@ -2,6 +2,9 @@ define class CursorToArray as session nSessionID = 0 CurName = "" + && IRODG 07/10/2023 Inicio + ParseUTF8 = .f. + && IRODG 07/10/2023 Fin * Function CursorToArray function CursorToArray as memo if !empty(this.nSessionID) @@ -9,7 +12,17 @@ define class CursorToArray as session endif private JSONUtils JSONUtils = _screen.JSONUtils - local lcOutput as memo, i as Integer + local lcOutput as memo, ; + i as Integer, ; + lcValue as Variant, ; + llCentury as Boolean, ; + llDeleted as Boolean, ; + lcDateAct as string, ; + nCounter as Integer, ; + lnTotField as Integer, ; + lnTotal as Integer, ; + lnRecNo as Integer + lcOutput = "[" llCentury = set("Century") == "OFF" llDeleted = set("Deleted") == "OFF" @@ -57,7 +70,10 @@ define class CursorToArray as session Otherwise && IRODG 08/08/2023 Inicio *lcValue = JSONUtils.GetString(alltrim(lcValue)) - lcValue = JSONUtils.GetString(lcValue) + && IRODG 07/10/2023 Inicio +*!* lcValue = JSONUtils.GetString(lcValue) + lcValue = JSONUtils.GetString(lcValue, this.ParseUTF8) + && IRODG 07/10/2023 Fin && IRODG 08/08/2023 Fin endcase && IRODG 08/08/2023 Inicio diff --git a/src/jsonclass.prg b/src/jsonclass.prg index 0a2e5fe..2b85de5 100644 --- a/src/jsonclass.prg +++ b/src/jsonclass.prg @@ -4,7 +4,7 @@ define class JSONClass as session LastErrorText = "" lError = .f. lShowErrors = .t. - version = "9.16" + version = "9.17" hidden lInternal hidden lTablePrompt Dimension aCustomArray[1] @@ -244,7 +244,7 @@ define class JSONClass as session endfunc * CursorToJSON function CursorToJSON as memo - lparameters tcCursor as string, tbCurrentRow as Boolean, tnDataSession as integer, tlJustArray as Boolean + lparameters tcCursor as string, tbCurrentRow as Boolean, tnDataSession as integer, tlJustArray as Boolean, tlParseUTF8 as Boolean local lcJsonXML as memo, loParser, lcCursor lcJsonXML = '' lcCursor = SYS(2015) @@ -262,6 +262,9 @@ define class JSONClass as session loParser = createobject("CursorToArray") loParser.CurName = lcCursor loParser.nSessionID = tnDataSession + && IRODG 07/10/2023 Inicio + loParser.ParseUTF8 = tlParseUTF8 + && IRODG 07/10/2023 Fin lcJsonXML = loParser.CursorToArray() catch to loEx this.ShowExceptionError(loEx)