欧元符号转义输出:?€

时间:2017-10-04 11:49:47

标签: c# escaping pdfsharp

我正在尝试使用转义C#中的欧元符号\u20AC,但由于某种原因,结果是:?€。那里有一个问号。我正在使用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);

这是新输出:

desc

1 个答案:

答案 0 :(得分:3)

问题不在于欧元符号。 您的字符串在引号和反斜杠之间包含零宽度Unicode字符。使用"光标向左移动"或者"光标右边"你会注意到这个位置需要两步。

隐形的零宽字符会导致问号。删除它,你就完成了。

更新:"字符"是e2 80 8e,LEFT-TO-RIGHT MARK。