Thread: Unicode display in VB

Unicode display in VB

From
Jean-Michel POURE
Date:
Dear all,

I am still trying to figure out how to display Japanese text in pgAdmin2.

Microsoft Form Two objects and MS Hierarchical Flexgrid Control 6.0 both
support Unicode display.
To verify, just create this form:

Private Sub Command1_Click()
         ' create a Unicode text file with Chinese character
         ' Dan1 and English character D.
         Dim a(0 To 5) As Byte
         a(0) = &HFF ' All Unicode string begin with &HFF and &HFE
         a(1) = &HFE
         a(2) = &H39 ' Dan1
         a(3) = &H4E
         a(4) = &H44
         a(5) = &H0
         Open "unicode.txt" For Binary As #1
         Put #1, , a
         Close #1

         Dim txtline As String

         ' you may need to change the path of the file
         Open "unicode.txt" For Binary As #1

         txtline = InputB(2, #1)  ' always FF FE, skip them
         txtline = InputB(4, #1)

         Close #1

         TextBox1.Text = txtline  ' display the string
         'MSHFlexGrid1.Text = txtline
End Sub

This will display one Chinese Glyph and the lettre 'D', provided that Arial
Unicode font is installed.
I tried to link MSHFlexGrid1 to a data source, but I did not see any
Japanese character.

Did anyone succeed in displaying Japanese character in MSHFlexGrid?

Best regards,
Jean-Michel POURE


Re: Unicode display in VB

From
"Hiroshi Inoue"
Date:
> -----Original Message-----
> From: Jean-Michel POURE
>
> Dear all,
>
> I am still trying to figure out how to display Japanese text in pgAdmin2.
>
> Microsoft Form Two objects and MS Hierarchical Flexgrid Control 6.0 both
> support Unicode display.

IIRC Unicode fundamentally means UCS-2 not UTF-8 under Windows
whereas in PostgreSQL UNICODE means UTF-8 not UCS-2.
Currently psqlodbc driver doesn't provide the functionality for UCS-2
clients to talk to PostgreSQL servers.
We have to implement pretty many SQLxxxxxW API functions and
handle SQL_C_WCHAR type bindings in psqlodbc drvier to provide
the functionality.
If you are in the Japanese environment, you could talk to UTF-8
servers by setting Connect string as SET CLIENT_ENCODING
to 'SJIS' and display Japanese characters but it doesn't seem
your case.

regards,
Hiroshi Inoue

Re: Unicode display in VB

From
"Simeo Reig"
Date:
Hi, I have this simple code that uses ADO to insert a row in a test table
with a serial id and a varchar,
after insert I can obtain varchar's value but I *can't* obtain id's value of
this record. What I'm doing wrong ??
Thanks!


*Table definition:

    mydatabase-# \d societats;
         idsocietat    | integer               | not null default
nextval('"societats_idsocietat_seq"'::text)
         nomsocietat   | character varying(50) |
         capitalsocial | double precision      | default 0

*Postgres 7.1.3 under FreeBSD 4.4


*VB code

Private Sub Command3_Click()

  ' Dims omited
   Set Cnxn = New ADODB.Connection
   strCnxn = "Provider=MSDASQL.1;Persist Security Info=False;Data
Source=mysource"
   Cnxn.Open strCnxn
   Set rstEmployees = New ADODB.Recordset
   strSQL = "societats"

   rstEmployees.Open strSQL, strCnxn, adOpenKeyset, adLockOptimistic,
adCmdTable

   strFirstName = Trim(InputBox("Put name:"))
   rstEmployees.AddNew
        rstEmployees!nomsocietat = strFirstName
   rstEmployees.Update

   ' Show the newly added data
    MsgBox "New record: " & rstEmployees!idsocietat & " " &
rstEmployees!nomsocietat

    '''''rstEmployees!idsocietat returns nothing !!!!!!!!!!!!!!

      rstEmployees.Close
   Cnxn.Close
   Set rstEmployees = Nothing
   Set Cnxn = Nothing

End Sub