ISQL + MSSQL Server (Linux) - проблема со вставкой и выбором при использовании акцентированных символов - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть база данных, в которой в таблице есть тексты с акцентированными символами.

Пример: Жуан, Сезар, Пао, Асукар (слова на языке ptBR).

Когда я делаю запрос, используяв SQL Management Studio или DBeaver, например, содержимое столбца отображается правильно.Однако та же самая инструкция запроса при выполнении через ISQL не отображает акцентированные символы, а вместо этого отображает знак вопроса.Пример: Jo? O, C? Sar, P? O, A? Ucar

Я пробовал следующие процедуры:

  • Измените LANG раздела на en_US.ISO88591(без успеха)
  • Измените LC_TYPE на POXIS / C (без успеха)
  • Установите соединение в ISQL с помощью параметра -len_US.ISO88591 (без успеха)

Важно:

  • Тот же запрос, когда он выполняется через SQLCMD, правильно отображает символы.
  • Я не могу зависеть только от SQLCMD, потому что некоторые серверы имеют толькоISQL

Кто-то уже прошел эту ситуацию?Есть исправление или устранение ошибки, чтобы решить эту проблему?

РЕДАКТИРОВАТЬ: Действия по воспроизведению проблемы

::::Statement to create database::::

CREATE DATABASE [dbaccess]
ON PRIMARY 
( NAME = N'dbaccess', FILENAME = N'/var/opt/mssql/data/dbaccess.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ), 
FILEGROUP [DBACCESS_DATA] DEFAULT
( NAME = N'dbaccess_data', FILENAME = N'/var/opt/mssql/data/dbaccess_data.ndf' , SIZE = 500MB , MAXSIZE = UNLIMITED, FILEGROWTH = 50MB ), 
FILEGROUP [DBACCESS_IDX] 
( NAME = N'dbaccess_idx', FILENAME = N'/var/opt/mssql/data/dbaccess_idx.ndf' , SIZE = 100MB , MAXSIZE = UNLIMITED, FILEGROWTH = 10MB )
COLLATE Latin1_General_BIN
GO


::::Statement to create table::::
CREATE TABLE dbo.T1(T1_CPOC VARCHAR(20) NOT NULL  CONSTRAINT T1_T1_CPOC_DF DEFAULT '                    ')

::::Statement to insert data::::
INSERT INTO dbo.T1(T1_CPOC) VALUES ('çÇáÁéÉíÍêÊãÃõÕ')

:::: Statement to connect to database from ISQL::::
isql -v <dsn_name> <user> <password>

:::: Query and Result  ::::
SQL> select * from T1
+---------------------+-----------+---------------------+---------------------+
| T1_CPOC             | D_E_L_E_T_| R_E_C_N_O_          | R_E_C_D_E_L_        |
+---------------------+-----------+---------------------+---------------------+
| ??????????????      |           | 1                   | 0                   |
+---------------------+-----------+---------------------+---------------------+

Я благодарен за поддержку сообщества!

...