2017-06-01 162 views
0

目前,我只是想从数据湖店下载文件并将数据存储到我的sql数据库,但我有字符串shoudl收集字符问题像(ę,± ,ć,ł),但它被替换为(e,a,c,l)。目前,我试图在Stream Reader中更改Culture Information和Encoding,但它并没有给我更好的结果(仍然在我的字符串值中替换了字符)。那么是否有任何工作或任何地方可以为我的应用服务和Web应用服务中包含的Web作业全局设置编码参数?Azure Web Job从数据湖店下载的数据不好编码

+0

请从[this](https://github.com/projectkudu/kudu/wiki/Isolating-WebJobs-and-Deployment-script-issues)开始,从等式中删除WebJobs。另外,尝试从图片中删除数据湖和SQL,因为它们可能不相关。基本上,隔离到更简单的东西,并用特定的代码重新填写你的问题。 –

回答

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 

这是我得到的结果。

enter image description here

根据结果,文本1的值改变为 'E,A,C,L' 由于列类型是VARCHAR。

+0

有没有更新?您的问题是否已解决?如果是,请将有用答复标记为答案。如果您还有其他问题,请随时通知我。 – Amor