欧元符号转义输出:?€
Euro symbol escape outputting: ?€
我试图用 \u20AC
在 C# 中转义欧元符号 €
,但由于某种原因,结果是这样的:?€
。那里有一个问号。我正在使用 PdfSharp 将代码转换为 PDF 文件,我需要使用欧元符号。
我试过这个:
- 不转义粘贴欧元符号
- 使用:
.Replace("?", "")
但这两个选项都不起作用。
这是用欧元符号绘制 String
的代码:
gfx.DrawString("\u20AC " + myString, normalFont, textColor,
new XRect(0, 0, 0, 0), XStringFormats.Default);
注意: 其他符号如 %
有效
编辑:
应用 PDFSharpNovice 建议表后,我添加了这个
XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode,
PdfFontEmbedding.Always);
这是新的输出:
问题不在于欧元符号。
您的字符串在引号和反斜杠之间包含一个零宽度的 Unicode 字符。当您使用 "cursor left" 或 "cursor right" 移动通过该行时,您会注意到它在此处需要两步。
不可见的零宽字符导致问号。删除它就大功告成了。
更新:"character" 是 e2 80 8e,从左到右标记。
我试图用 \u20AC
在 C# 中转义欧元符号 €
,但由于某种原因,结果是这样的:?€
。那里有一个问号。我正在使用 PdfSharp 将代码转换为 PDF 文件,我需要使用欧元符号。
我试过这个:
- 不转义粘贴欧元符号
- 使用:
.Replace("?", "")
但这两个选项都不起作用。
这是用欧元符号绘制 String
的代码:
gfx.DrawString("\u20AC " + myString, normalFont, textColor,
new XRect(0, 0, 0, 0), XStringFormats.Default);
注意: 其他符号如 %
有效
编辑:
应用 PDFSharpNovice 建议表后,我添加了这个
XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode,
PdfFontEmbedding.Always);
这是新的输出:
问题不在于欧元符号。 您的字符串在引号和反斜杠之间包含一个零宽度的 Unicode 字符。当您使用 "cursor left" 或 "cursor right" 移动通过该行时,您会注意到它在此处需要两步。
不可见的零宽字符导致问号。删除它就大功告成了。
更新:"character" 是 e2 80 8e,从左到右标记。