我們最近在開發 SQL Server 2005 的 Reporting Service 報表功能,而在使用 ReportViewer 查看報表時都沒問題:
但是在執行匯出資料到 PDF 格式時,所有的中文字都會變成亂碼:
若要解決這個問題其實還蠻容易的,只要修改報表定義檔( *.rdlc )中各物件的字型修改掉即可,預設來說預設的字型是 Tahoma,你必須改成 PMingLiU 即可。
而所有報表定義檔 ( *.rdlc ) 都是 XML 語法,你只要直接將以下標籤定義:
<FontFamily>Tahoma</FontFamily>
全部都換成以下 PMingLiU 這個定義就可以了,這個代碼是「細明體」的字型代號:
<FontFamily>PMingLiU</FontFamily>
如果你要設定的字型是「標楷體」的話,可以用以下定義:
<FontFamily>DFKai-SB</FontFamily>
如果是在中國大陸常用的「宋體」字型,我就不知道是什麼代碼了,也許知道的網友可以提供給我知道。
你可以使用任何編輯器來修改,例如說你可以使用 Notepad++ 一次開啟所有 *.rdlc 檔,然後用「取代所有開啟文件」的方式一次替換所有報表定義檔中的相關字串:
這樣就可以省去用開發工具一個一個修改了。