MT4.2でファイルアップロードエラー

March 15, 2010
utf8_error01.gif 先日、お客さんから「MTで画像がどうしてもアップできない」と問い合わせがありました。

詳しく訊くと下記のエラーが出るとのこと。

不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。

「え?そんなん出たことないねんけど。。。」
って、言えませんので調べてみると

問題点

この現象が発生する条件は以下のとおりだそうです。

  1. Perl 5.8.5 以前のバージョンをお使いの環境
  2. アップロードするファイルのパスに日本語が含まれている
  3. ブラウザに Internet Explorer を使用

これはやっかい。早速XPで動作確認をして解決策を検証してみました。

解決策

1.Perl 5.8.5 以前のバージョンをお使いの環境

Perlのバージョンを上げる。

うーん。これはレンタルサーバの仕様によるので、無理なところもありますよね。


2.アップロードするファイルのパスに日本語が含まれている

これを一般の方に説明するのが少し難しい。てか、ボクも分かってなかった。

「画像などのファイル名は『半角英数文字』にしてください」

と言うのは、まだ伝えやすい(中には全角英数文字と間違える方もおられますが)。

ファイルパスも全て半角英数文字にするには

「『Cドライブ直下』や『マイドキュメント(ユーザ名も半角英数文字)』直下に半角英数文字で新規フォルダを作成してください」

と伝えても難しいと思うし。

「『マイコンピュータ』の『ローカルディスク(C:)』も『マイ ドキュメント』も日本語やん」

って逆に突っ込まれそうだし。

「えーとですね。『マイ ドキュメント』は表示上の名前であって、フォルダの実体は『C:\Documents and Settings\<ユーザー名>\My Documents』にあるんです」

とも説明しなければならない。

ファイルアップロード画面

要するに、画像を参照で選択する時に、画像までのパスが全て半角英数文字にならなければいけないということです。


3.ブラウザに Internet Explorer を使用

これは、一般のほとんどの方が利用しているので面倒です(ちなみにボクはFirefoxですが)。

お客さんが通常使用しているブラウザを「Firefox」に変えてください、って言うのは強制的でちょっと違うと思う。

場合によっては「インストール方法」も説明しなければならないし。


今回の件は、「シックスアパートさん、それはちょっとないんちゃうの」って感じです。

また、ボク自身もお客さんの環境に合わせて動作チェックをしていかないといけないと、改めて思いました。

関連リンク

Six Apart - Movable Type 4 サポート: ファイルアップロードでエラー「不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。」

関連記事

トラックバック(0)

コメントする


画像の中に見える文字を入力してください。

PageTop