【问题标题】:Pound sign getting converted into question mark in Azure Build Pipeline英镑符号在 Azure Build Pipeline 中转换为问号
【发布时间】:2022-01-14 17:04:18
【问题描述】:

我们的表中有一个名为“House€1000”的列,但在从 Azure Build Pipeline 部署代码后,我们可以看到井号已转换为“?”在 Azure 构建工件中。任何人都可以提出一些可以解决此问题的方法吗?

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
  • 嗨@Shruti Agrawal!如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充)。这对其他社区成员可能是有益的。谢谢你:)
  • 嗨 Shruti Agrawal,欢迎来到 Stack Overflow。您的问题中有几点难以理解;当您说“桌子”时,您是什么意思?一个天蓝色的 sql 数据库表?还是 azure 表存储中的表?还是一个csv文件?另外,您能否阐明在构建工件中使用或输出列名的位置和精确程度?
  • 请记住,在这个网站上,您鼓励Edit您的问题尽可能地改进它。

标签: sql azure-devops utf-8 azure-pipelines-build-task


【解决方案1】:

可能的原因是我们在定义列时使用了 char、varchar 等非 unicode 数据类型。

为了涵盖所有语言的字符,可能涉及不同的字节数。 使用像 nvarchar、nchar 这样的 unicode 数据类型可以将它们转换为 UTF-8 编码值。但是它们可能不包含足够的字节来使用该语言。因此请尝试包含该特定语言中涉及的字节以使该符号出现。例如:@ 987654324@, currency > decimal (19, 9) 以避免数据截断导致数据丢失。

在准备列时启用 utf 编码。有时如果未启用,请尝试使用转义字符例如:[%] 或 [^],表示 % 和 ^。

请通过这个Collation and Unicode support - SQL Server | Microsoft Docs

参考:

  1. Introducing UTF-8 support for Azure SQL Database | Azure updates | Microsoft Azure
  2. storing-uk-pound-sterling-in-a-database

【讨论】:

    猜你喜欢
    • 2022-08-23
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多