请耐心等待并检查此问题。
我写了一些简单的 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"
.
我使用 DreamWeaver。处理上传的文件是一个 php 文件。编码为 utf8,Unicode 规范化形式为 C,未选中包含 Unicode 签名 (BOM)。
默认语言是区域中的希腊语和控制面板中的语言。(Windows 7家庭高级版)
浏览器的编码是utf8
我也使用 Apache 2.2.22。是阿帕奇的错吗?还是它的php文件?还是数据库?
我不知道还能做什么......我错过了什么?求求求指教