ファイル名に日本語を設定してエクスポートすると文字化けする(1)

文書番号 : 39467     文書種別 : 不具合     登録日 : 2016/07/27     最終更新日 : 2016/07/27
文書を印刷する
対象製品
SpreadJS 9J
状況
修正済み
詳細

ExcelIOサービスによるファイルエクスポートでファイル名に日本語を設定すると文字化けが発生します。

【再現コード】
--------------------------------------------------
//Excelファイルエクスポートのオプションを以下のように設定します。

var spread = $("#ss").wijspread("spread");
var serverUrl = "http://localhost/ExcelIO/xsapi/export";
var optContentType = "application/json";
var dataObj = {
  "spread": spread.toJSON(),
  "exportFileType": "xlsx",
  "exportFileName": "日本語ファイル名",
  "excel": {
    "saveFlags": "NoFlagsSet",
    "password": ""
  },
};
--------------------------------------------------
回避方法
SpreadJS 9J SP1(Ver.3.20152.21)で修正済み
SpreadJS 9J SP1(Ver.3.20152.21)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

エクスポートするファイル名の指定にあたって以下のようにエンコードを実行することで本現象の回避が可能です。

【現象回避コードの適用例】
--------------------------------------------------
var spread = $("#ss").wijspread("spread");
var serverUrl = "http://localhost/ExcelIO/xsapi/export";
var optContentType = "application/json";
var dataObj = {
  "spread": spread.toJSON(),
  "exportFileType": "xlsx",
  "exportFileName": window.encodeURI("日本語ファイル名");, // 日本語ファイル名をエンコードして設定します
  "excel": {
    "saveFlags": "NoFlagsSet",
    "password": ""
  },
};
--------------------------------------------------