現象
たとえば次のようなシナリオを考えてみます。
- ロケールが日本語に設定されているコンピューターにインストールされている SQL Server 2008 R2 Service Pack 1 (SP1) 以降の累積的な更新プログラム 1 を適用している。
- コンピューター上の Windows コードページ (ANSI コードページ) には半角文字が使用されています。
- レポートを PDF にエクスポートすると、選択したフォントが全角バージョンの± (プラス マイナス) 文字になっている。
このシナリオでは、生成される PDF ファイルに次の問題が 1 つ以上発生する場合があります。
- アポストロフィの後に余分なスペースがあります。
- ドル記号の前のテキストがドル記号と重なります。
- 一部の特殊文字はスペースの問題を引き起こすようです。
注: この問題は、SQL Server 2012 および SQL Server 2014 でも発生します。
原因
この問題は、SQL Server 2008 R2 SP2 CU1 以降に Unicode が正しく変更されていないことが原因で発生します。
解決策
この問題は、次の SQL Server の累積的な更新プログラムで最初に修正されました。
SQL Server 2014 用の累積的な更新プログラム 4 /en-us/help/2999197
SQL Server 2012 SP2 の累積的な更新プログラム 2 /en-us/help/2983175
SQL Server 2008 R2 SP2 の累積的な更新プログラム 11 /en-us/help/2926028
SQL Server 用の累積的な更新プログラムについて
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
- SQL Server 2014 の最新の累積的な更新プログラム
- SQL Server 2012 SP2 の最新の累積的な更新プログラム
- SQL Server 2008 R2 SP2 の最新の累積的な更新プログラム
注: この累積的な更新プログラムを適用すると、次の問題が発生する可能性があります。レポート サーバーのロケールが日本語に設定されているシステム上にあり、± (プラス マイナス文字) が PDF にエクスポートされるレポートに含まれる場合、一部の文字が重複することがあります。 この問題を回避するには、以下のいずれかの方法を使用します。
- 半角の "±" 文字を使用するフォントに変更します。
- SQL Server 2008 R2 Reporting Services または SQL Server 2012 Reporting Services を実行しているサーバーのロケールを英語に変更します。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。