FUNCTION IsoToUTF8 LPARAMETERS cIsoLatin1 LOCAL lcIsoLatin1, lcHold, lnLoop, lnLen, lcChar, lcUTF8 lcUTF8 = "" IF !ISNULL(cIsoLatin1) lcIsoLatin1 = STRTRAN(cIsoLatin1,"&","&") lcIsoLatin1 = STRTRAN(lcIsoLatin1,"<","<") lcIsoLatin1 = STRTRAN(lcIsoLatin1,">",">") lcIsoLatin1 = STRTRAN(lcIsoLatin1,"'","'") lcIsoLatin1 = STRTRAN(lcIsoLatin1,'"',""") lnLen = LEN(lcIsoLatin1) FOR lnLoop = 1 TO lnLen lcChar = SUBSTR(lcIsoLatin1,lnLoop,1) IF ASC(lcChar)>127 lcUTF8Char = CHR(BITOR(0xC0,BITAND(0x03,BITRSHIFT(ASC(lcChar),6))))+; CHR(BITOR(0x80,BITAND(0x3F,ASC(lcChar)))) lcUTF8 = lcUTF8+lcUTF8Char ELSE lcUTF8 = lcUTF8+lcChar ENDIF ENDFOR ENDIF RETURN lcUTF8