【问题标题】:replace black diamond with question mark in c#在c#中用问号替换黑色菱形
【发布时间】:2020-07-19 21:24:56
【问题描述】:

当我从 SQL 获取数据时,值中出现带有问号的黑色菱形。我知道这是因为编码。我想做的是用空格替换那些未知字符。 我找到了一些字符的unicode:

["\u0060", "\u2018", "\u2019", "\u201C", "\u201D", "\uFFFD", "\u00A0", "\u1680", "\u180e", "\u2000", "\u2009", "\u200a", "\u200b​", "\u202f", "\u205f​", "\u3000", "\u2003"]

但还是有一些表现。是否有任何这些字符或 unicode 或函数的列表?

【问题讨论】:

  • 问题可能只是您的查看器而不是数据。您使用的查看器需要支持编码和字体。黑色菱形并不一定意味着有什么问题。
  • 你是如何显示这些值的?
  • 你用的是什么字体。带有问号的黑色菱形字符是 Unicode 替换字符(U+FFFD,en.m.wikipedia.org/wiki/…)。它通常意味着“这个字符不能以这种字体呈现”。有 很多 Unicode 字符(想想亚美尼亚语、泰米尔语或韩语),祝你好运将它们全部过滤掉

标签: c# sql


【解决方案1】:

我认为编码问题只会出现在 ascii 表中字符数高于 127 的情况下。 因此,您可以将任何 ascii 代码大于 127 的字符转换为空格。 这可以解决一些误报,但也许对您来说没问题。

【讨论】:

  • 谢谢。这个链接帮助我做到了:link
猜你喜欢
  • 1970-01-01
  • 2019-07-17
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
相关资源
最近更新 更多