0

mojibakeに遭遇せずに HTML フォームでファイルをアップロードするにはどうすればよいですか?

次の 3 つのフィールドを持つフォームがあります。

  1. ファイルフィールド
  2. 必須のテキスト フィールド
  3. 日本語の文字を受け入れるテキスト フィールド

属性を使用して HTML フォームをセットアップしましたenctype='multipart/form-data'。しかし、必須フィールドがないためにフォームの送信が失敗すると、同じページにリダイレクトされますが、2 番目のテキスト フィールド (日本語の文字を受け入れるフィールド) は既に文字化されています。

ただし、を削除するenctypeか、別のものに変更すると、フォームの送信が失敗すると、日本語の文字がそのまま表示されます (文字化けはありません)。問題は、これが成功した場合、アップロードされたファイルを読み取れないことです。

これを修正する方法はありますか??

4

2 に答える 2

1

文字化け (日本語の文字の乱れた表示) には、次の 2 つの原因が考えられます。

  1. ページ上のデータは正しい文字エンコーディングですが、ブラウザはそれを認識しません。

  2. ページの一部の文字が間違ったエンコーディングを使用しています (サーバーが間違ったエンコーディングで書き込んだ)。

ページ上の (フォームの外側の) 他の文字が正しく表示される場合は、サーバーで壊れた出力が生成されました。

すべてが壊れており、ブラウザのメニューから別のエンコーディングを手動で設定することで修正できる場合は、ページのエンコーディングが正しく指定されていません。

どのような種類のコンテンツ タイプ ヘッダーと HTML メタ タグを使用していますか?

于 2009-04-01T04:38:11.380 に答える