ファイルアップロードのエンコーディングに関する問題
ファイルアップロードのエンコーディングの問題
Flash+PHP を使用してファイルのバッチアップロードを実装します。 PHP では、ファイルを保存するときにエンコードの問題が発生しました:
- PHP コード
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><?php header("Content-Type:text/html;charset=utf-8"); function createDir($path){ if (!file_exists($path)){ createDir(dirname($path)); mkdir($path, 0777); } } $uploaddir='upfile/'.date('Ymd').'/'; createDir($uploaddir); $uploadfile=$uploaddir.iconv('utf-8','gbk',$_POST['fn']); if (move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadfile)) { echo 'OK'.$_POST['bn'].'{[(*})]'.$_POST['up'].'{[(*})]'.'$uploadjson'.'{[(*})]'.'$listjson'; }else{ echo 'ERROR'; } ?>
ファイル名は、中国語、英語、フランス語、ロシア語など、非常に不規則です。現時点では、種類が不確かです。 、いくつかのファイルは保存されましたが、文字化けまたは切り詰められました(拡張子が失われました)。 iconv('utf-8','gbk',$_POST['fn'])、ここで何が問題なのでしょうか?やり方は?
-----解決策---------
現在のページでは utf-8
header("Content-Type:text/html;charset=utf-8");
が使用されており、これを gbk
$uploadfile に変換する必要があります。 =$uploaddir.iconv('utf-8','gbk',$_POST['fn']);
削除または
$uploadfile=$uploaddir.iconv('gbk' ,'utf -8', $_POST['fn']);
試してください
------解決策------------------
GBK でエンコードされた文字列には、ロシア語のこれらの記号がありません。つまり、中国語のみに適用されます
保存には utf-8 を使用することをお勧めします。ファイル名文字化けの問題は放置しても問題ありません。
------解決策------------------
$uploadfile = $uploaddir .base64_encode($_POST['fn']) .' pathinfo($_POST'fn'], PATHINFO_EXTENSION)
------解決策------------------
データソースが GBK の場合はどうすればよいですか?
iconv は //IGNORE を使用して特殊記号を無視し、UTF8 に変換するか、名前を変更します。
------解決策------------------
Windows マシン上のファイル名にロシア語またはアラビア語を入力できますか?
ファイル名は、顧客のオペレーティング システムのエンコーディングによって異なります。通常、国内ユーザーは中国語版の Windows を使用します。GBK にはロシア語などの言語が含まれています。別の言い方をすると、オペレーティング システムのエンコードが ISO-8859-1 であるユーザーに中国語名のファイルをダウンロードするよう依頼すると、たとえ gbk に変換されたとしても中国語のファイルは文字化けします。ランダムに名前を付けるだけです。そうしないと、世界中のさまざまなオペレーティング システムのユーザー システム コードが大きく異なるため、ここでわざわざ iconv を使用して変換する必要はありません。 。
私は現在 Ubuntu を使用していますが、システム エンコーディングは UTF-8 です。中国語、ロシア語、フランス語を GBK に変換しない場合は、私のようなユーザーにとっては正常です。しかし、GBK に変換すると、まだ文字化けします。ふふ。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go 言語エンコード分析: UTF-8 と GBK の比較 Go 言語では、文字列エンコードの処理は一般的なタスクの 1 つです。その中でも、UTF-8 と GBK の 2 つはよく使用される文字エンコード方式です。この記事では、UTF-8 と GBK を詳細に比較し、その違いと使用法について説明し、具体的なコード例を添付します。 1. UTF-8 と GBK の概要 UTF-8: UTF-8 は、世界中のほぼすべての言語の文字を表現できる可変長 Unicode エンコード方式です。 UTF-8

PHP 開発者にとって、POST を使用してパラメータのあるページにジャンプすることは基本的なスキルです。 POST は HTTP でデータを送信する方法で、HTTP リクエストを通じてサーバーにデータを送信できます。ジャンプ ページはサーバー側でページを処理してジャンプします。実際の開発では、特定の機能上の目的を達成するために、パラメーターを指定して POST を使用してページにジャンプする必要があることがよくあります。

PHP は、インタラクティブで動的な Web アプリケーションの作成に使用できる、広く使用されているサーバー側スクリプト言語です。 PHP アプリケーションを開発する場合、通常、フォームを介して処理するためにユーザー入力データをサーバーに送信する必要があります。ただし、フォームデータがPHPで送信されたものであるかどうかを判断する必要がある場合があるので、この記事ではその判断方法を紹介します。

Python はブラウザーによるポスト リクエストの送信をシミュレートします importrequests 形式 request.postrequest.post(url,data,json,kwargs)#ポスト リクエストの形式 request.get(url,params,kwargs)#get リクエストと比較して、ポスト リクエストの送信パラメータは次のように分割されますForms ( x-www-form-urlencoded) json (application/json) データ パラメーターは、辞書形式と文字列形式をサポートしています。辞書形式は、 json.dumps() メソッドを使用して、データを有効な JSON 形式の文字列に変換します。このメソッドには、次のものが必要です

1. Java は post インターフェイスを呼び出します 1. Java に付属の URLConnection または HttpURLConnection を使用します 他の jar パッケージをダウンロードする必要はありません URLConnection を呼び出します インターフェイスの応答コードがサーバーによって変更されている場合、応答メッセージは受信できません。応答コードが正しい場合にのみ受信されます。 publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt を返します。

以下:server{listen80;listen443ssl;server_namenirvana.test-a.gogen;ssl_certificate/etc/nginx/ssl/nirvana.test-a.gogen.crt;ssl_certificate_key/etc/nginx/ssl/nirvana.test-a.gogen .key;proxy_connect_timeout600;proxy_read_timeout600;proxy_send_timeout600;c

タイトル: PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Web 開発では、多くの場合、パラメーターを POST 経由で渡し、サーバー側で処理してページ ジャンプを実装する必要があります。 PHP は、一般的なサーバーサイド スクリプト言語として、この目的を達成するための豊富な関数と構文を提供します。以下では、この機能を PHP を使用して実装する方法を、具体的な例を用いて紹介します。まず、2 つのページを準備する必要があります。1 つは POST リクエストを受信し、パラメーターを処理するためのものです。

PHP は Web サイト開発で広く使用されているプログラミング言語であり、ページ ジャンプと POST データの送信は Web サイト開発における一般的な要件です。この記事では、PHP のページジャンプを実装して POST データを運ぶ方法を、具体的なコード例を含めて紹介します。 PHP では、ページ ジャンプは通常、ヘッダー関数を通じて実装されます。ジャンプ プロセス中に POST データを送信する必要がある場合は、次の手順で実行できます。 まず、ユーザーが情報を入力して送信ボタンをクリックするフォームを含むページを作成します。フォーム内のアクティ
