multipart/form-data がなくても、フォーム データを「multipart/form-data」として投稿しているときに、UTF-8 エンコーディングに問題があります。しかし、同じ投稿でファイルをアップロードする必要があるため、multipart/form-data を使用する必要があります。
問題は、PHP 5.3.x から PHP 5.4.4-14 (Debian Wheezy にバンドルされている) にアップグレードした後に発生し、同じスクリプトが PHP 5.3 テスト サーバーでうまく動作します。
- ドキュメントはすべて UTF-8 で保存され、
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
タグが付いています。 - さまざまなコンピューターのさまざまなブラウザーでテストしました
- mb_detect_encoding() は投稿された文字列を UTF-8 として検出します
AddDefaultCharset utf-8
私はApacheの設定を試みました。
ここで私のスクリプトをテストできます。次の文字列をトルコ文字でコピー/貼り付けできます (例: 文字列: öçşipğopüp )
http://sa.chelona.com.tr/haber-ekle.html
PHP でフォームが multipart/form-data として投稿されたときに、UTF-8 テキストが文字化けする関連の質問も見つかりましたが、apache/php の再インストールが推奨されており、それは私の状況では不可能です。これは既知の PHP/Apache バグですか?