1

當我嘗試在pdf \ html文件中保存rave項目時,請使用不正確的編碼。 當選擇格式並按下SAVE時,它將保存在iso-8859-1代碼中。 但我需要cp1251(西里爾)。Builder C++ Rave使用西里爾文編碼問題

例如「Ïëîùàäü」而不是「Площадь」。

回答

0

我想你的問題的最佳解決方案是使用Unicode,而不是像CP1251這樣的代碼頁。是否可以使用Unicode與Rave Reports?

0

當我想將reprt保存爲pdf格式時,我遇到同樣的問題。我必須創建TRvRenderPDF並將其設置爲RenderObject,但是pdf文件被視爲不正確。

  1. 的TRvRenderPDF組件不兼容Unicode(這是非常壞的),這就是爲什麼在報告中的所有文本coverted爲ANSI與活動代碼頁(西里爾是CP1251)。現在我們有PDF文件和CP1251編碼的文本。
  2. 作爲默認的TRvRenderPDF生成PDF字體TYPE1 Helvetica(通過格式pdf的標準它是內置的)。但是文本是用編碼ISO 8859-1(或CP1252)解釋的,但它的編碼是CP1251,這就是爲什麼我們有「想象」或類似的東西。

我們可以做什麼:

  1. 取得字體TYPE1(CP1252),其中服務符號(號碼,如在CP1251西裏爾字母)與西里爾字符的替換。例如a link,我們需要安裝它。
  2. 現在我們需要用新的字體名稱(AGHelvetica)從生成的pdf文檔中替換舊的字體名稱(Helvetica)。你可以使用文本編輯器或者你的程序來讀取它(讀取文件 - >查找 - >替換 - >保存文件)。

這一切情況。

P.S.對不起我的英語不好。

P.P.S.如果設置pdf渲染EmbedBaseFonts = true的屬性,pdf文件用TrueType字體保存,但問題停留。 Neew看unicode渲染?但不是這一個。