i have figure out how to store chinese/japanese character in INI. the codes are as follow. hope it helps.
VB Code:
Public Enum CodeEnum cgNone = 0 cgANSI = 1 cgUTF8 = 2 cgUTF16 = 3 cgHTML = 4 End Enum 'the function to convert the input character to some encoding, 'you can convert the encoding back to the character Public Function Uni_VB(ByVal sText As String) As String Dim lLen As Long Dim i As Long Dim sChar As String Dim lChar As Integer Dim CodeEnum As CodeEnum lLen = Len(sText) If lLen Then For i = 1 To lLen sChar = Mid$(sText, i, 1) lChar = AscW(sChar) If (lChar >= &H0) And (lChar <= &HFF) Then Select Case CodeEnum Case cgNone Uni_VB = Uni_VB & Chr$(34) Case cgANSI Case cgUTF16 Uni_VB = Uni_VB & " & " & Chr$(34) End Select CodeEnum = cgANSI Uni_VB = Uni_VB & sChar Else If CodeEnum = cgANSI Then Uni_VB = Uni_VB & Chr$(34) End If CodeEnum = cgUTF16 'Uni_VB = Uni_VB & " & ChrW$(&H" & Hex$(lChar) & ")" Uni_VB = Uni_VB & " &H" & Hex$(lChar) & "|" End If Next If CodeEnum = cgANSI Then Uni_VB = Uni_VB & Chr$(34) End If End If End Function 'usage: 'to insert into ini file str1 = TextBox1.Text fstr = Uni_VB(str1) 'Debug.Print fstr iniFile$ = "C:\CP.ini" WriteToINI "Section", "Key", fstr, iniFile$ 'to display it: iniFile$ = "C:\CP.ini" szaTemp = Space(lSize) lRet = GetPrivateProfileString("Section", "Key", "", szaTemp, lSize, iniFile$) szaTemp = Left(szaTemp, lRet) strCode = Split(szaTemp, "|") fstr = fstr & ChrW$(strCode(i)) TextBox2.Text = fstr


Reply With Quote