2017-10-04 80 views
0

我想逃避歐元符號在C#與\u20AC但由於某種原因結果是這樣的:?€。那裏有個問號。我使用PdfSharp將代碼轉換爲PDF文件,我需要使用歐元符號。歐元符號越獄輸出:?€

我已經試過這樣:

  • 粘貼歐元符號,而逃逸
  • 使用:.Replace("?", "")

但是這兩個選項沒有工作。

這是繪製String與歐元符號的代碼:

gfx.DrawString("‎\u20AC " + myString, normalFont, textColor, 
       new XRect(0, 0, 0, 0), XStringFormats.Default); 

注:%其他符號正在

編輯:

應用意見後form PDFSharpNovice我已經添加這個了

XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode, 
    PdfFontEmbedding.Always); 

這是新的輸出:

desc

+0

檢查網站上的Unicode樣本,並在問題依然存在時提供MCVE。在PDFsharp中使用帶有Unicode的歐元符號沒有一般問題。像「%」這樣的ASCII符號可以工作,但是您可以測試其他Unicode符號或非ASCII符號,如「ÄÖÜäöüß」http://www.pdfsharp.net/wiki/Unicode-sample.ashx –

+0

@PDFsharpNovice checkout my edit –

回答

3

的問題是不是與歐元符號。 您的字符串在引號和反斜槓之間包含零寬度的Unicode字符。當你用「光標左移」或「光標右移」來移動該行時,你會發現在這個位置需要兩步。

不可見的零寬度字符會導致問號。刪除它,你就完成了。

更新:「字符」是e2 80 8e,左對右標記。

+0

謝謝,不知道存在。 +1 –