しばらくお待ちください。この問題を確認してください。
画像をアップロードするための簡単な PHP コードをいくつか書きました。
これがコードです(スニペット)
<?php
header('Content-Type: text/plain; charset=utf-8');
//set encoding for prepared statements
$dbh->exec("SET NAMES UTF8");
$dbh->query('SET NAMES UTF8');
//check if file is actually an image etc.
//send image to "upload" folder
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);
//save to the database a string like "upload/myImage.jpg", so I can render it on the site later
$stu = $dbh->prepare("UPDATE multi SET m_place=:name WHERE m_id = :id");
$stu->bindParam(':name', $n, PDO::PARAM_STR);
$n= "upload/".$_FILES["file"]["name"];
$stu->execute();
画像の名前が英語であれば問題ありません。がギリシャ語の場合、データベースには正常に保存されましたが、フォルダーには保存されませんでした。私が見るデータベースではχωρις τιτλο.jpg
(これは正しい)、フォルダχωΟΞ―Ο‚ τίτλο.jpg
では間違っています。
私はすべてを試しましたが、これを修正できません。フォルダ内の適切なタイトルを取得するには。
データベース (postgreSQL 9.1) のエンコーディングは UTF8、照合順序と文字タイプはGreek_Greece.1235
. 画像のタイトルを保存するテーブルの列のコレクションは ですpg_catalog."C"
。
ドリームウィーバーを使用しています。アップロードを処理するファイルは php ファイルです。エンコーディングは utf8、Unicode 正規化形式は C、Include Unicode Signature (BOM) はチェックされていません。
デフォルトの言語は、地域ではギリシャ語、コントロール パネルでは言語です。(Windows 7 ホーム プレミアム)
ブラウザのエンコーディングはutf8です
Apache 2.2.22 も使用しています。それはApacheのせいですか?それともphpファイルですか?それともデータベース?
他に何をすべきかわかりません...何が欠けていますか?どうかどうかアドバイスをお願いします