0

目前,我只想从数据湖存储下载文件并将数据存储到我的 sql 数据库中,但是我遇到了应该包含 (ę, ą, ć, ł) 等字符的字符串的问题,但它被替换为 (e,a ,c,l)。目前我正在尝试更改 Stream Reader 中的文化信息和编码,但它并没有给我任何更好的结果(仍然在我的字符串值中得到替换字符)。那么是否有任何解决方法或任何地方可以为我的应用程序服务和 Web 应用程序服务中包含的 Web 作业全局设置编码参数?

4

1 回答 1

0

该问题与 WebJob 无关。由于字节级别的读写工作,我们可以从任何地方读取任何特殊字符并将其写入另一个地方。

应该包含 (ę, ą, ć, ł) 之类的字符但它被 (e,a,c,l) 替换的字符串。

您为 SQL Server 中的特殊字符定义了哪种列类型?如果列类型是 char 或 varchar。如果您存储特殊字符,它将丢失数据。将列类型更改为 nchar 或 nvarchar 将解决此问题。

这是我这边的测试。

步骤 1,使用以下 SQL 语句定义表。

CREATE TABLE [dbo].[mytable]
(
    [id] INT NOT NULL PRIMARY KEY,
    [text1] varchar(50),
    [text2] nvarchar(50)
)

第 2 步,使用以下 SQL 语句插入一行。

insert into mytable (id, text1, text2) values(1, 'ę, ą, ć, ł', 'ę, ą, ć, ł')

第 3 步,使用以下 SQL 语句从 mytable 中查询数据。

select * from dbo.mytable

这是我得到的结果。

在此处输入图像描述

根据结果​​,由于列类型为 varchar,text1 的值更改为 'e,a,c,l'。

于 2017-06-02T06:54:01.903 回答