ユーザのアップロード

ユーザのアップロード

- Shin'ichi Tsumori の投稿
返信数: 8
津森と申します。

Moodle1.8上で、CSVファイルを使ってアカウントの一斉登録を行おうとしているのですが、うまく行きません。
具体的には、

username, password, firstname, lastname, email
student1, stk1, Taro, Yamada, taro@aaa.bbb.ccc

の形式でCSVファイルを作成し、"ユーザのアップロード"を使って登録しようとすると、

「 username 」 は正しいフィールド名ではありません。

と表示され、登録が拒否されます。
対処を御存知の方がいらっしゃれば、御教示頂けませんでしょうか。
宜しくお願い致します。
Shin'ichi Tsumori への返信

Re: ユーザのアップロード

- Minoru Akiyama の投稿
秋山@eラーニングサービスです。

ヘッダー行はカンマで区切られたキーワードが並んでいますが、trim()をしたあと必須項目かオプショナル項目(デフォルト値付き)かオプショナル項目かをチェックして、該当しないと、このエラーになります。
以下のキャラクター以外の「何か」が「username」の前後にくっついていないでしょうか?
  • " " (ASCII 32 (0x20)), 通常の空白。

  • "\t" (ASCII 9 (0x09)), タブ。

  • "\n" (ASCII 10 (0x0A)), リターン。

  • "\r" (ASCII 13 (0x0D)), 改行。

  • "\0" (ASCII 0 (0x00)), NULバイト

  • "\x0B" (ASCII 11 (0x0B)), 垂直タブ


Shin'ichi Tsumori への返信

Re: ユーザのアップロード

- Tatsuya Shirai の投稿
私が同様の問題に悩んだ時の原因は,CSVファイルをUTF-8形式ではなく,シフトJIS形式で保存したことでした笑顔
(Windows上のExcelを用いて一覧表を作成し,CSV形式で保存)

ただ,サンプルとして示されたデータですと日本語を含みません.いま当方のシステムでユーザーのアップロードを試したところ,正しくユーザが登録されましたので他の問題かも知れませんね.
Shin'ichi Tsumori への返信

Re: ユーザのアップロード

- Haruhiko Okumura の投稿
画面ではわかりませんがメールで送られてきたものを見る限りusernameの直前に何か変なもの(ef bb bf)が付いているような気がします。
Haruhiko Okumura への返信

Re: ユーザのアップロード

- Tatsuya Shirai の投稿

ファイルの頭に含まれているコードがef bb bf だとしますと,UTF-8のBOM(Byte Order Mark)のようです.

http://www.atmarkit.co.jp/aig/01xml/bom.html

エディタによっては,ビックエンディアンとリトルエンディアンを判別するために意図的に付けることがあるようです.

私の使用している秀丸エディタですと,保存の際にUTF-8をファイル形式として選択すると,BOMをファイルの頭に付加するかどうかを選択できます.

お使いのエディタにこのオプションがあるか無いか,有るならばBOMを付加しない設定にして保存すればうまく行きそうですね.


Tatsuya Shirai への返信

Re: ユーザのアップロード

- Haruhiko Okumura の投稿
残念ながらWindowsのメモ帳ではBOMを外せないようです。
フリーのエディタでもxyzzyなどは選べます。UTF-8NにするとBOMが付きません。
Tatsuya Shirai への返信

Re: ユーザのアップロード

- Haruhiko Okumura の投稿
皆さんのお知恵でいろいろわかってきましたね!

でも,そもそもMoodleがWindows UTF-8に対応していないというのもおかしな話です。たぶんMoodleの中のどこかをちょっといじれば直るはずだと思います(他人任せですみません)。
Haruhiko Okumura への返信

Re: ユーザのアップロード

- Shin'ichi Tsumori の投稿
津森です。
体調を崩しまして、返事が遅れてすみませんでした。

皆様のご指摘の通り、BOMのせいのようでした(と言っても、BOMそのものをこれまで知らなかったのですが…)。
xyzzyでUTF-8N形式でセーブするとうまく行きました。

非常に助かりました。
どうも有難うございました。