rjb+poi (1)
rjbdemo をなぞるようにして、ひとまず書いてみた。xls ファイルを作ってはくれるのだが、どうも文字化けを直す手立てが見えてこない。
整理してみると、
book = HSSFWorkbook.newsheet = book.createSheet
book.setSheetName(0, "抽出データ", HSSFWorkbook.ENCODING_UTF_16)
シートの名前はこのまま通る。ただ、データベースから読み取ったデータを処理すると駄目。
meters.each do |m|row.createCell(0).setEncoding(HSSFCell.ENCODING_UTF_16)
row.createCell(0).setCellValue(m.name)
end
のようにしても m.name は化けてしまう。m.name の代わりに直接文字を "名前" のようにいれてみても駄目だったりしたし。謎。(まあ、なにかが間違っているのだろうけれど)
もう少し処理の流れを考えながら試行しますか。
保存では render :text と send_data の両方を試してみた。とりあえずはどちらでも(ややダイアログは違うものの)保存できている。
| 固定リンク
コメント
m.nameは、$KCODEと一致してますか? $KCODEは多分utf-8だと思うので、m.nameがそれ以外の文字コードということはないでしょうか。
投稿: arton | 2007.07.02 22:01
$KCODE は UTF-8 です。Windows で MySQL ですがこちらも UTF-8 だったかと。
で、gettext による mo ファイルをきちんと作り直してみたところなぜか直りました。そのあたりが影響していたのかなと思っていますが、そういうものなのでしょうか。
投稿: ムムリク | 2007.07.03 11:28