Question:
How do I handle UTF-8 characters in Elipse E3/Power?
Solution:
UTF-8 characters can be handled via libraries available on the internet. However, you can also create an internal dictionary in order to handle these characters, as seen in the example below, created in a command button:
Sub Retangulo2_Click() vtext = "Elipse S\u00e3o Paulo" nStart = InStr(1,vtext,"\u") utext = Mid(vtext, nStart, 6) Set dicUTF = dicutf8() ctext = dicUTF.Item(utext) Msgbox replace(vtext,utext,ctext) End Sub Function dicutf8() Set dic = CreateObject("Scripting.Dictionary") dic.Add lcase("\u0020")," " dic.Add lcase("\u0021"),"!" dic.Add lcase("\u0022"),Chr(34) dic.Add lcase("\u0023"),"#" dic.Add lcase("\u0024"),"$" dic.Add lcase("\u0025"),"%" dic.Add lcase("\u0026"),"&" dic.Add lcase("\u0027"),"'" dic.Add lcase("\u0028"),"(" dic.Add lcase("\u0029"),")" dic.Add lcase("\u002A"),"*" dic.Add lcase("\u002B"),"+" dic.Add lcase("\u002C"),")," dic.Add lcase("\u002D"),"-" dic.Add lcase("\u002E"),"." dic.Add lcase("\u002F"),"/" dic.Add lcase("\u0030"),"0" dic.Add lcase("\u0031"),"1" dic.Add lcase("\u0032"),"2" dic.Add lcase("\u0033"),"3" dic.Add lcase("\u0034"),"4" dic.Add lcase("\u0035"),"5" dic.Add lcase("\u0036"),"6" dic.Add lcase("\u0037"),"7" dic.Add lcase("\u0038"),"8" dic.Add lcase("\u0039"),"9" dic.Add lcase("\u003A"),":" dic.Add lcase("\u003B"),";" dic.Add lcase("\u003C"),"<" dic.Add lcase("\u003D"),"=" dic.Add lcase("\u003E"),">" dic.Add lcase("\u003F"),"?" dic.Add lcase("\u0040"),"@" dic.Add lcase("\u0041"),"A" dic.Add lcase("\u0042"),"B" dic.Add lcase("\u0043"),"C" dic.Add lcase("\u0044"),"D" dic.Add lcase("\u0045"),"E" dic.Add lcase("\u0046"),"F" dic.Add lcase("\u0047"),"G" dic.Add lcase("\u0048"),"H" dic.Add lcase("\u0049"),"I" dic.Add lcase("\u004A"),"J" dic.Add lcase("\u004B"),"K" dic.Add lcase("\u004C"),"L" dic.Add lcase("\u004D"),"M" dic.Add lcase("\u004E"),"N" dic.Add lcase("\u004F"),"O" dic.Add lcase("\u0050"),"P" dic.Add lcase("\u0051"),"Q" dic.Add lcase("\u0052"),"R" dic.Add lcase("\u0053"),"S" dic.Add lcase("\u0054"),"T" dic.Add lcase("\u0055"),"U" dic.Add lcase("\u0056"),"V" dic.Add lcase("\u0057"),"W" dic.Add lcase("\u0058"),"X" dic.Add lcase("\u0059"),"Y" dic.Add lcase("\u005A"),"Z" dic.Add lcase("\u005B"),"[" dic.Add lcase("\u005C"),"\" dic.Add lcase("\u005D"),"]" dic.Add lcase("\u005E"),"^" dic.Add lcase("\u005F"),"_" dic.Add lcase("\u0060"),"`" dic.Add lcase("\u0061"),"a" dic.Add lcase("\u0062"),"b" dic.Add lcase("\u0063"),"c" dic.Add lcase("\u0064"),"d" dic.Add lcase("\u0065"),"e" dic.Add lcase("\u0066"),"f" dic.Add lcase("\u0067"),"g" dic.Add lcase("\u0068"),"h" dic.Add lcase("\u0069"),"i" dic.Add lcase("\u006A"),"j" dic.Add lcase("\u006B"),"k" dic.Add lcase("\u006C"),"l" dic.Add lcase("\u006D"),"m" dic.Add lcase("\u006E"),"n" dic.Add lcase("\u006F"),"o" dic.Add lcase("\u0070"),"p" dic.Add lcase("\u0071"),"q" dic.Add lcase("\u0072"),"r" dic.Add lcase("\u0073"),"s" dic.Add lcase("\u0074"),"t" dic.Add lcase("\u0075"),"u" dic.Add lcase("\u0076"),"v" dic.Add lcase("\u0077"),"w" dic.Add lcase("\u0078"),"x" dic.Add lcase("\u0079"),"y" dic.Add lcase("\u007A"),"z" dic.Add lcase("\u007B"),"{" dic.Add lcase("\u007C"),"|" dic.Add lcase("\u007D"),"}" dic.Add lcase("\u007E"),"~" dic.Add lcase("\u00A1"),"¡" dic.Add lcase("\u00A2"),"¢" dic.Add lcase("\u00A3"),"£" dic.Add lcase("\u00A4"),"¤" dic.Add lcase("\u00A5"),"¥" dic.Add lcase("\u00A6"),"¦" dic.Add lcase("\u00A7"),"§" dic.Add lcase("\u00A8"),"¨" dic.Add lcase("\u00A9"),"©" dic.Add lcase("\u00AA"),"ª" dic.Add lcase("\u00AB"),"«" dic.Add lcase("\u00AC"),"¬" dic.Add lcase("\u00AD"),"" dic.Add lcase("\u00AE"),"®" dic.Add lcase("\u00AF"),"¯" dic.Add lcase("\u00B0"),"°" dic.Add lcase("\u00B1"),"±" dic.Add lcase("\u00B2"),"²" dic.Add lcase("\u00B3"),"³" dic.Add lcase("\u00B4"),"´" dic.Add lcase("\u00B5"),"µ" dic.Add lcase("\u00B6"),"¶" dic.Add lcase("\u00B7"),"·" dic.Add lcase("\u00B8"),"¸" dic.Add lcase("\u00B9"),"¹" dic.Add lcase("\u00BA"),"º" dic.Add lcase("\u00BB"),"»" dic.Add lcase("\u00BC"),"¼" dic.Add lcase("\u00BD"),"½" dic.Add lcase("\u00BE"),"¾" dic.Add lcase("\u00BF"),"¿" dic.Add lcase("\u00C0"),"À" dic.Add lcase("\u00C1"),"Á" dic.Add lcase("\u00C2"),"Â" dic.Add lcase("\u00C3"),"Ã" dic.Add lcase("\u00C4"),"Ä" dic.Add lcase("\u00C5"),"Å" dic.Add lcase("\u00C6"),"Æ" dic.Add lcase("\u00C7"),"Ç" dic.Add lcase("\u00C8"),"È" dic.Add lcase("\u00C9"),"É" dic.Add lcase("\u00CA"),"Ê" dic.Add lcase("\u00CB"),"Ë" dic.Add lcase("\u00CC"),"Ì" dic.Add lcase("\u00CD"),"Í" dic.Add lcase("\u00CE"),"Î" dic.Add lcase("\u00CF"),"Ï" dic.Add lcase("\u00D0"),"Ð" dic.Add lcase("\u00D1"),"Ñ" dic.Add lcase("\u00D2"),"Ò" dic.Add lcase("\u00D3"),"Ó" dic.Add lcase("\u00D4"),"Ô" dic.Add lcase("\u00D5"),"Õ" dic.Add lcase("\u00D6"),"Ö" dic.Add lcase("\u00D7"),"×" dic.Add lcase("\u00D8"),"Ø" dic.Add lcase("\u00D9"),"Ù" dic.Add lcase("\u00DA"),"Ú" dic.Add lcase("\u00DB"),"Û" dic.Add lcase("\u00DC"),"Ü" dic.Add lcase("\u00DD"),"Ý" dic.Add lcase("\u00DE"),"Þ" dic.Add lcase("\u00DF"),"ß" dic.Add lcase("\u00E0"),"à" dic.Add lcase("\u00E1"),"á" dic.Add lcase("\u00E2"),"â" dic.Add lcase("\u00E3"),"ã" dic.Add lcase("\u00E4"),"ä" dic.Add lcase("\u00E5"),"å" dic.Add lcase("\u00E6"),"æ" dic.Add lcase("\u00E7"),"ç" dic.Add lcase("\u00E8"),"è" dic.Add lcase("\u00E9"),"é" dic.Add lcase("\u00EA"),"ê" dic.Add lcase("\u00EB"),"ë" dic.Add lcase("\u00EC"),"ì" dic.Add lcase("\u00ED"),"í" dic.Add lcase("\u00EE"),"î" dic.Add lcase("\u00EF"),"ï" dic.Add lcase("\u00F0"),"ð" dic.Add lcase("\u00F1"),"ñ" dic.Add lcase("\u00F2"),"ò" dic.Add lcase("\u00F3"),"ó" dic.Add lcase("\u00F4"),"ô" dic.Add lcase("\u00F5"),"õ" dic.Add lcase("\u00F6"),"ö" dic.Add lcase("\u00F7"),"÷" dic.Add lcase("\u00F8"),"ø" dic.Add lcase("\u00F9"),"ù" dic.Add lcase("\u00FA"),"ú" dic.Add lcase("\u00FB"),"û" dic.Add lcase("\u00FC"),"ü" dic.Add lcase("\u00FD"),"ý" dic.Add lcase("\u00FE"),"þ" dic.Add lcase("\u00FF"),"ÿ" Set dicutf8 = dic End Function Sub dummy() End Sub