1 / 20

日本語 Windows とモバイル機器に強い fs_moodle パッケージの紹介

ど~した もんだか. 日本語 Windows とモバイル機器に強い fs_moodle パッケージの紹介. Introduce of fs_moodle package. 鈴鹿工業高等専門学校 機械工学科 (Suzuka National College of Technology, Mechanical Engineering) 白井 達也 (Tatsuya SHIRAI) shirai@mech.suzuka-ct.ac.jp. 日本語 Windows OS が抱える File System の問題点(仕様)を

kiora
Download Presentation

日本語 Windows とモバイル機器に強い fs_moodle パッケージの紹介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ど~した もんだか... 日本語Windowsとモバイル機器に強いfs_moodleパッケージの紹介 Introduce of fs_moodle package 鈴鹿工業高等専門学校 機械工学科(Suzuka National College of Technology, Mechanical Engineering) 白井 達也 (Tatsuya SHIRAI) shirai@mech.suzuka-ct.ac.jp

  2. 日本語Windows OSが抱える File Systemの問題点(仕様)を 解決するための仕組み(fsconverter.phpからスタート) fs_moodle(エフエス・ムードル)とは? もう少しだけ詳しく,fs_moodleの仕組みを解説

  3. 本校で2007年2月に 三重大学の奥村教授がMoodleに関する講演を行なう. 研究室で使うグループウェアを 探し続けていたところなので, 早速,部屋に戻ってから情報収集, そのまま一気にインストール(できてしまった) 余剰のPC (Compaq DeskProEN, PentiumⅢ866MHz, 30GB HDD, 386MB RAM, Windows2000) 非常に遅いが,一応,動作した.

  4. OSは Linux,Mac OS, Windowsが利用可能! なのだが!

  5. Windows(WindowsServer含む)は確かにOKなのだが,Windows(WindowsServer含む)は確かにOKなのだが, 日本語Windows (日本語WindowsServer含む)には 致命的な問題点のあることが, 「使ってみてから判明」

  6. そんなことはない! 利用者にお願い強制など不可能! 「あ,それは仕様です」 名前に日本語を含む ファイルやフォルダが 使えない! 議事録20081114.doc 二分法.c 予算割り当て.xls ロボット工学その1.ppt 「Web上で日本語のファイル名を使うのは 御法度でしょ,そんなの常識,常識」 (注) Linux, Mac OSならば問題なし

  7. ファイルシステムの違いです Why? Linux, Mac OS UTF-8に対応できる 自由でシンプルなシステム 日本語Windows マルチバイトはShift JISを前提 (NTFS:内部ではUTF-16)

  8. Unicode 多言語の文字を単一の文字コードで取り扱うために 1980年代に提唱 当初は16bit → Unicode2.0から21ビットに拡張. (16bitの領域) 基本多言語面(BMP: Basic Multilingual Plane) 最も使われる基本的な文字・記号がほとんど含まれる. (実用的にUnicode≒16ビットのBMP) UTF-8/16はUnicodeの文字符号化方式の名称 (Unicode Transformation Format)

  9. ASCII文字列 → UTF-8(1バイト)は完全に同一  → 日本語文字化けの主要因!(海外製ソフトウェア) 日本語文字は必ず3バイトを要する. MoodleはUTF-8に対応済み (見落し有り...) Unicode (UTF-8) • Unicode(主に16ビット)を • 1~3バイトで表す可変長の符号化法 • 頭1ビットが0であれば1バイト長 • 頭3ビットが110であれば2バイト長の先頭バイト • 頭4ビットが1110であれば3バイト長の先頭バイト • 頭2ビットが10であれば2バイト長以上の2バイト目以降 • であることが容易に判別可能.

  10. 管理者はともかく, 教師,学生に 半角英数字しか使っちゃだめ! とは言えない 実際,不便ですし... Moodleを介したファイルのやり取りは... • (PDFなどの)配布用ファイル • フォーラムの添付ファイル • 電子メールの添付ファイル • 提出課題の提出物 などなど.

  11. 具体例(コースファイル) Explorer (on Windows) 123 TEST1 実践工業数学 123 TEST1 実践工業数学参考文献.txt 半角はOK 全角も全てが化ける訳ではない

  12. Moodle (PHP) 「このデータを “表1.doc”(E8 A1 A8 EF BC 91 2E 64 6F 63 :UTF-8) という名前で保存して」 日本語 「OK. “陦イ・・doc” (E8 A1 A8 EF BC 91 2E 64 6F 63 :S-JIS?) ん? 変な名前だな.」 Explorer (on Windows)

  13. 具体例(コースファイル) Explorer (on Windows) 正しい例 (Moodle → fs_moodle)

  14. シフトJIS(CP932)のハズだ!と 勝手に思い込んでしまう ならば... つまり日本語Windowsは... アプリケーションから渡されたファイル名の文字コードが ASCII文字(7bit)ではない場合

  15. それに対して,fs_moodleは... ファイル名をUTF-8から シフトJISに変換してから渡してあげよう (妥協) Moodleソースリスト中のファイルI/O関数を 独自の関数でオーバーライド (UTF-8 ←→ シフトJIS) (膨大な数...やりました)

  16. md5_file() mkdir() move_uploaded_file() opendir() readdir() readfile() rename() rmdir() scandir() sha1_file() unlink() chmod() copy() file() file_exists() file_get_contents() file_put_contents() filectime() filemtime() filesize() filetype() fopen() getimagesize() imagecreatefromgif() imagecreatefromjpg() imagecreatefrompng() imagecreatefromwbmp() imagecreatefromxbm() imagecreatefromxpm() is_dir() is_executable() is_file() is_readable() is_uploaded_file() fs関数:各関数名の頭に fs_ 各関数はファイル名を UTF-8←→シフトJIS変換 例) file_exists(), unlink() function send_temp_file_finished($path) { // (FS_CONVERTER): ここから // if (file_exists($path)) { if (fs_file_exists($path)) { // @unlink($path); @fs_unlink($path); // (FS_CONVERTER): ここまで } }

More Related