Skip to content

Wrong blob get with charset=WIN1251 #191

@McFris

Description

@McFris

FB 5.0.2. firebirdsql v0.9.15.

Create test table:

CREATE TABLE TESTBLOB (
    TXT      BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
    CHARTXT  CHAR(10)
);
insert into testblob(txt, chartxt) values('Проверка', 'Проверка');

Than in Go:

conn, _ := sql.Open("firebirdsql", "SYSDBA:[email protected]/test?charset=WIN1251")
conn.QueryRow(`select txt, chartxt from testblob`).Scan(&bl.Txt, &bl.CharTxt)
fmt.Printf("Blob in WIN1251: '%s'\n", bl.Txt)
fmt.Printf("Char in WIN1251: '%s'\n", bl.CharTxt)
conn.Close()

conn, _ = sql.Open("firebirdsql", "SYSDBA:[email protected]/test")
conn.QueryRow(`select txt, chartxt from testblob`).Scan(&bl.Txt, &bl.CharTxt)
fmt.Printf("Blob without charset (UTF8 by default): '%s'\n", bl.Txt)
fmt.Printf("Char without charset (UTF8 by default): '%s'\n", bl.CharTxt)

Result:
Blob in WIN1251: '��������'
Char in WIN1251: 'Проверка'
Blob without charset (UTF8 by default): 'Проверка'
Char without charset (UTF8 by default): 'Проверка'

Expected:
Blob in WIN1251: 'Проверка'
Char in WIN1251: 'Проверка'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions