簡體   English   中英

上載文件時文件名正在更改

[英]Filename is changing when uploading files

我創建了一個頁面,可以將文件上傳到數據庫。 但是,只要文件名上帶有特殊字符,它都會在數據庫中更改其名稱。 例如,我有一個名為Biñan.pdf的pdf文件,它將更改為BIÃ'AÃ..pdf

這是我要上傳文件的功能。

<?php

function upload_image()
{
    if ( isset($_FILES["user_image"]) )
    {
        $destination = './upload/' . $_FILES['user_image']['name'];
        move_uploaded_file($_FILES['user_image']['tmp_name'], $destination);
        return $_FILES['user_image']['name'];
    }
}

function get_image_name($user_id)
{
    include('db3.php');
    $statement = $connection->prepare("SELECT image FROM users10 WHERE id = '$user_id'");
    $statement->execute();
    $result = $statement->fetchAll();
    foreach($result as $row)
    {
        return $row["image"];
    }
}

function get_total_all_records()
{
    include('db3.php');
    $statement = $connection->prepare("SELECT * FROM users10");
    $statement->execute();
    $result = $statement->fetchAll();
    return $statement->rowCount();
}

?>

保存轉儲備份,然后嘗試將數據庫,表和字段的字符集更改為UTF-8

對於數據庫

ALTER DATABASE <database_name> CHARACTER SET utf8 COLLATE utf8_unicode_ci;

一張桌子

ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

對於列(請注意字段類型關鍵字)

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM