从Excel连接到Postgresql时如何获取String UTF8?

时间:2018-05-08 07:31:10

标签: postgresql excel-vba vba excel

我将excel连接到pgsql

1.安装驱动程序:

https://www.postgresql.org/ftp/odbc/versions/msi/

2.添加系统DSN:

enter image description here

这是我的代码获取数据库:

Public Function setDBConnectionPgsql() As Object

    Set setDBConnectionPgsql = CreateObject("ADODB.Connection")
    setDBConnectionPgsql.Open "DSN=PostgreSQL;Server=192.168.1.10;Port=5434;UserId=postgres;Password=123456;Database=test;"
End Function

Private Sub CommandButton1_Click()
    Dim adoCn As Object
    Dim dbRes As Object

    Set adoCn = setDBConnectionPgsql()
    Set dbRes = CreateObject("ADODB.Recordset")

    dbRes.Open "SELECT * FROM mst_user", adoCn, 1, 2
    Dim iRow As Integer
    iRow = 1
    Do While dbRes.EOF = False
      ActiveSheet.Rows(iRow).Cells(1).Value = dbRes("user_id")
      ActiveSheet.Rows(iRow).Cells(2).Value = dbRes("user_name")
      iRow = iRow + 1
      dbRes.moveNext
    Loop
End Sub

数据库是:"理宏"

但结果Excel显示:逅・ョ・

如果Text是英文,那就没问题了。

从Excel连接到Postgresql时如何获取String UTF8?

1 个答案:

答案 0 :(得分:1)

原因:我安装了psqlodbc_10。我安装了signinUser。没关系。