評定をExcel形式で出力した際にシート名が化ける

評定をExcel形式で出力した際にシート名が化ける

- Tatsuya Shirai の投稿
返信数: 0
2年ほど前に,
http://moodle.org/mod/forum/discuss.php?d=26206
こちらで解決されたExcelファイルのシート名の問題ですが,Moodle1.8でも有効でしょうか.

いま評定を利用してレポートの採点を行っており,試しにExcelファイル形式で出力させたところ,シート名が化けました...

上記の修正では$sheetnameをシフトJISに変換しています.現在私が使用していますExcel2003では,内部データはどうやらUTF-16(UTF-8?)で記録されているようです.そういえばOfficeは内部データをUnicodeに統一した,と聞いた気がします.したがって,上記フォーラムで公開されていたWorksheet.phpへの修正($strのシフトJISへの変換)を行わないでも,Moodle1.8のUTF-8形式のデータをそのままバイナリで出力してデータに関しては文字化けが発生しなかったのでしょう.

しかしシート名に関しては,無改造では文字化けします.
私も当初は疑問に思いつつも「きっとシフトJISに変換しないといけないのだろう」と考えて,シート名をシフトJISに変換しようとしたら失敗.1時間くらい悩んでから,フォーラムを検索して,神原さんの改造を発見し,適用しても失敗しました.

MoodleのUTF-8化によりデータ本体は文字化けしないようになったにも関わらず,なぜシート名だけ文字化けするのか,原因か対策方法を御存知の方は教えて頂けないでしょうか.

ソースは読めば読むほど,生データをそのまま出力しているだけなのでUTF-8ならば問題なさそうです...


これは別件ですが,同じく評定のダウンロードで,ODSフォーマットで出力したファイルをStarSuite8で開くことができません.ファイルが破損しているので修復する,のメッセージの後に,空白のシートが開きます.テキスト形式とExcel形式で出力できるので問題は無いのですが,このまま放置するのも少し気持ち悪いですね.こちらも情報をお持ちの方がいらっしゃいましたら助言お願いします.