日本語化に必要な新機 能

日本語化に必要な新機 能

- Ryoichi Nakayama の投稿
返信数: 2

新機能ではないのですが、moodleのコード的には新機能の希望かとおもいますのでこちらで。

● moodleからユーザに出されるメールのエンコードが今は8bit-EUC-JPなのですが、一般的ではありません。やはり7bit-JISにあわせたい(yahooモバイルなどでみると本文はいいのですが、件名が化けます)

● 活動記録などexcelのデータシートがダウンロードできるのですが、multibytestringの処理が組みこまれていない(ソースをみるとそのような気が・・)ので、windwosなどで利用できない(文字列はutf-8にするのでしょうか)

。。。いろいろとありそう

Ryoichi Nakayama への返信

Re: 日本語化に必要な新機 能

- Takahiro Kagoya の投稿

#新規ポストしようと思っていたところ、すでにこちらに同じような記事があったので、返信という形にさせていただきます。

小テスト(Quiz)の成績をExcelファイルやテキストファイルに保存できると思いしてみたところ、どちらもEUCになるためか文字化けしてしまいます。
テキストファイルについては、EUCを読み書きできるエディタや、文字コード変換ツールを使うという手で、とりあえず対応できますがExcelの方はやはり無理ですよね? テキストファイルの方も一般の先生方は「文字コードって何?」という程度だと思うので、運用上非常に厳しいです。

将来のUNICODE化を待たずに、mbstringを使った変更を本家で提案すべきでしょうか。本家のスレッドをまだ良く熟読していませんが、みなさんのご意見を参考にさせていただきたく思います。

Takahiro Kagoya への返信

Re: 日本語化に必要な新機 能

- Ryoichi Nakayama の投稿

本家にマージするには相当手間が懸かるのか危惧するところなんです。
本来はmb_XXXを使ってでも一般化すべきでしょうね。

一応EXCELシートが一枚だけで、データの文字列だけでも何とか使いたいということなら、こんな感じで使ってます

lib/excel/Worksheet.phpのfunction write_string()の最後の部分に無理やりSJISに変換して入れてます。(だめなシートもあるので…)

/* */
        $str = mb_convert_encoding($str, "SJIS","EUC-JP");
/* */
        $header    = pack("vv",   $record, $length);
        $data      = pack("vvvv", $row, $col, $xf, $strlen);
        $this->_append($header.$data.$str);
        return($str_error);
    }

OpenOfficeあたりのソースが参考になるかもしれませんね。