- - PR -
JSPでデータをMSWORD出力
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-12-03 15:39
DBにあるデータをMSWORDで出力できるよう下記のように
設定を行ったけど、たまに上手く出力できて、たまには文字化けが発生 している。因みに、英文字には問題なくて、日本語文字だけで、 発生しております。なにが原因と思われますか?だれかが知っていれば、 是非教えてください。よろしくお願い致します。 STRIVERより <% // UPLOAD data file to MSWORD setting ------------------ response.setContentType("application/msword"); %> <%@ page pageEncoding="Windows-31J" contentType="text/html;charset=Windows-31J" import="java.util.*,javax.mail.*,javax.mail.internet.*,javax.activation.*,java.io.*,java.text.*,java.sql.*,java.util.Date;" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <% // set MSWORD filename ---------------------------------- response.setHeader("Content-disposition","attachment; filename=" + docu_valu + ".doc"); %> | ||||||||
|
投稿日時: 2004-12-03 15:59
ご回答ありがとうございます。
で、その日本語の文字化けをなくすのは何か 良い方法あるのでしょうか? よろしくお願い致します。 | ||||||||
|
投稿日時: 2004-12-03 16:04
こんにちは。
まず、
と
は、矛盾しています。 HTMLではなく、MSWORDを返したいのではないでしょうか? そのあたりから直してみてはいかがでしょう。 | ||||||||
|
投稿日時: 2004-12-03 16:22
ご回答ありがとうございます。
JSPではまだ慣れていないので、大変申し訳ないです。 下記の通り変更したのですけど、まだ文字化けは直しいないです。 よろしくお願い申し上げます。 <%@ page pageEncoding="Windows-31J" contentType="application/msword;charset=Windows-31J" import="java.util.*,javax.mail.*,javax.mail.internet.*,javax.activation.*,java.io.*,java.text.*,java.sql.*,java.util.Date;" %> <% // set MSWORD filename ---------------------------------- response.setHeader("Content-disposition","attachment; filename=" + docu_valu + ".doc"); %> | ||||||||
|
投稿日時: 2004-12-03 16:50
ドキュメントの実体はどこで生成しているのでしょう?
一旦ファイルとして書き出しているのであれば、それはうまく開けますか? 「たまに上手く出力できて、たまには文字化けが発生」というのであればまず現象の発生条件を切り分けてはいかがでしょうか? 同じデータであれば必ず文字化けするのか、しないのか。 クライアントのブラウザや OS によって発生状況がことなるのか、等。 | ||||||||
|
投稿日時: 2004-12-03 17:06
POI 等で書き出したファイルを送信するのであれば JSPWriter でなくて ServletOutputStream で送信するべきですね。
つまり JSP 内ではなく、Servlet として実装してみましょう。 | ||||||||
|
投稿日時: 2004-12-03 17:19
ご回答大変ありがとうございます。
因みに、SERVLETの方はまだ詳しくないので、 出来れば、JSPだけでこれを解決したいですね。 ところで、情報追加なのですけど、JSPでDBにある 添付ファイルDOWNLOADする際、ファイル名は英文字で 書かれた場合、DOWNLOADは上手く出来たのですけど、 ファイル名が日本語になるとエラーが発生してDOWNLOAD が出来なくなります。今の問題と関係は有るのでしょうか? よろしくお願いします。 | ||||||||
|
投稿日時: 2004-12-03 18:46
下記のように設定を行って、結果的には上手くいきました。
MSWORDにデータを出力すると日本語の文字化けが 直りました。意見を色々頂いて、大変ありがとうございます。 // MSWORDのアプリを設定−− <%@ page contentType="application/msword;charset=Shift_JIS" %> // 保存するMSWORDのファイル名を設定 <% // set MSWORD filename ---------------------------------- response.setHeader("Content-disposition","attachment; filename=" + docu_valu + "REV" + revi_numb + ".doc"); %> <html> <head> // HHTPのレスポンスコード変換 <meta http-equiv="Content-Type" content="text/html;charset=iso-2022-jp"> <title>QCL2004 Daily Report Print Mode</title> 上記の内容を他の方にも参考にしていただければ、幸いです。 STRIVERより |
1