弊社では、Movable Type(以下MT)を活用したサイトを多数制作しているのですが、最近、お客様から「MTで画像がアップできない。変なエラーが出る」と、お問い合せがあるので、対処法を紹介します。
【問題】
特定の条件でファイルをアップロードすると、

というエラーが出る。
【原因】
この現象が発生する条件は以下のとおりだそうです。
- Perl 5.8.5 以前のバージョンをお使いの環境
- アップロードするファイルのパスに日本語が含まれている
- ブラウザに Internet Explorer を使用
ファイルアップロードでエラー「不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。」 | Movable Type 4 FAQ
【解決策】
Perl 5.8.5 以前の場合、Perlのバージョンを上げるのは、レンタルサーバの仕様によるので、無理なところもあります。
また、「Firefox」や「Safari」などのブラウザでアップロードすれば問題はないのですが、「IE」を愛用されている方に、強制はできません。
よって、ここではファイルパスを日本語を含まずに、全て半角英数文字にする方法を紹介いたします。
以下の環境でテストしました。
- PC:Windows XP
- ブラウザ:Internet Explorer 6.0
●STEP1
「スタートメニュー」→「マイドキュメント」を選択します。
●STEP2
「マイドキュメント」に半角英数文字で「新規ディレクトリ」を作成します(「マイピクチャ」内でも大丈夫)。
(名前は半角なら何でもいいです。例:Blog_Photo)
●STEP3

「Blog_Photo」ディレクトリ内にアップロードする画像を入れて、「ファイル名」も半角英数字にします。
●STEP4

MTの「ファイルのアップロード」で、STEP2のアップロードする画像を選択すると、アップロードできるようになります。
Windows PCの「ユーザー名」が日本語になっている場合
「マイドキュメント」に半角英数文字のフォルダを作成しても、画像が投稿できない場合、Windowsにログインするときに、「ユーザー名」が日本語になっている可能性があります。

「ユーザー名」の確認方法。上記の赤線の囲み部分をご確認ください(個人によって異なります)。
もし、「ユーザー名」が日本語になっている場合、変更するのは少し面倒ですので、「Cドライブ」に半角英数文字のフォルダを作成し画像をアップする方法もございます。
以下、手順です。
●STEP1

「スタートメニュー」→「マイコンピュータ」を選択します。
●STEP2

「ローカルディスク(C:)」をダブルクリックして開きます。
●STEP3

「ローカルディスク(C:)」の中に半角英数文字で「新規フォルダ」を作成します。
(名前は半角なら何でもいいです。例:Blog_Photo )
●STEP4
「Blog_Photo」フォルダ内にアップロードする画像を入れて、「ファイル名」も半角英数字にします。
●STEP5

MTの「ファイルのアップロード」で、STEP4のアップロードする画像を選択すると、アップロードできるようになります。
フォルダの実態名
画像のファイルパスを全て半角英数文字にするのに、「マイドキュメント」や「マイコンピュータ」は日本語なのでは? と疑問を持たれるかと思います。
「マイコンピュータ」の「ローカルディスク(C:)」は表示が日本語ですが、フォルダの実態は
C:
となります。
また、「マイドキュメント」は
C:¥Documents and Settings¥<ユーザー名>¥My Documents
がファイルパスです(ユーザー名は個人によって異なります)。

例えば、
「ローカルディスク(C:)」の「Blog_Photo」にある「081009.jpg」は
C:¥Blog_Photo¥081009.jpg
がファイルパスとなります(画像選択時に自動でつきます)。
なお、「.jpg」などの拡張子の表示はコンピュータの設定によります(表示・非表示の切り替え可能)。

![商用OK・加工OKの無料画像素材集[KOYU写]](http://www.kys-lab.com/common_files/img/banner/kys_photo_banner_120x90.gif)


