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