Kết quả 1 đến 10 của 10
  1. #1
    CI Member myfaith237's Avatar
    Ngày tham gia
    22-03-2015
    Bài viết
    67
    Cảm ơn
    10
    Được cảm ơn 5 trong 4 bài viết

    Bị lỗi font tên file tiếng Việt khi upload

    Mình làm 1 project upload đơn giản như thế này:
    File controller cUpload.php :
    PHP Code:
    <?php
    class cUpload extends CI_Controller {
        function 
    __construct()
        {
            
    parent::__construct();
            
    $this->load->helper(array('form''url'));
        }
        function 
    index()
        {
            
    $this->load->view('vUpload', array('error' => ' ' ));
        }
        function 
    do_upload()
        {
            
    $config['upload_path'] = './uploads/';
            
    $config['allowed_types'] = 'gif|jpg|png|jpeg|mp3|wav|mp4';
            
    $config['max_size']    = '100000';
            
    $this->load->library('upload'$config);
            if ( ! 
    $this->upload->do_upload())
            {
                
    $error = array('error' => $this->upload->display_errors());
                
    $this->load->view('vUpload'$error);
            }
            else
            {
                
    $data = array('upload_data' => $this->upload->data());
                
    $this->load->view('vUpload_success'$data);
            }
        }
    }
    File view vUpload.php :
    PHP Code:
    <html>
    <head>
    <title>Upload Form</title>
    </head>
    <body>
    <?php echo $error;?>
    <?php 
    echo form_open_multipart('cUpload/do_upload');?>
    <input type="file" name="userfile" size="20" />
    <br /><br />
    <input type="submit" value="upload" />
    </form>
    </body>
    </html>
    File view vUpload_success.php :
    PHP Code:
    <html>
    <head>
    <title>Upload Form</title>
    </head>
    <body>
    <h3>Your file was successfully uploaded!</h3>
    <ul>
    <?php foreach ($upload_data as $item => $value):?>
    <li><?php echo $item;?><?php echo $value;?></li>
    <?php endforeach; ?>
    </ul>
    <p><?php echo anchor('upload''Upload Another File!'); ?></p>
    </body>
    </html>
    Khi mình upload file có tên là tiếng Việt không dấu thì mọi thứ rất tốt, nhưng khi upload file tiếng Việt có dấu thì xảy ra vấn đề : file vẫn được upload thành công nhưng lại bị lỗi font chữ tên file. Ví dụ, mình upload file là Đường về hai thôn.mp3 thì khi upload xong, vào thư mục uploads thì tên file là Đường_về_hai_thôn.mp3.
    Ai có biết vấn đề này là do đâu không? Mình nghĩ có thể là do máy mình thiếu font nhưng không chắc lắm, mọi người download code về rồi test giúp mình với. Thanks.
    Link demo : UploadDemo

  2. #2
    Super Moderator tinhphaistc's Avatar
    Ngày tham gia
    01-03-2013
    Bài viết
    693
    Cảm ơn
    244
    Được cảm ơn 278 trong 210 bài viết
    bạn thêm đoạn code này vào trong thẻ <head></head> nhé.
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    THÔNG TIN HỖ TRỢ DIỄN ĐÀN CODEIGNITER VIỆT NAM
    Email: tinhphaistc@gmail.com

  3. #3
    Moderator vudesign's Avatar
    Ngày tham gia
    23-01-2014
    Bài viết
    324
    Cảm ơn
    22
    Được cảm ơn 45 trong 39 bài viết
    Tốt nhất nên để config['file_name'] = $sub_name;

    $sub_name = bạn thay bằng code alias chuyển tiếng việt thành dạng file-nhac-cua-tui

    Bạn hiểu ý chứ . Còn nếu để tiếng việt có dấu thì sẽ gặp một số vẫn để về đường dẫn trên hosting . mình đã từng gặp


    Thân ái . Đoàn kết và quyết thắng....! lâu lâu vào đây xả sờ chết http//:ovui.com.vn
    Clip hay nhé keke truy cậphttp://ovui.com.vn/" href="http://ovui.com.vn/" target="_blank" rel="nofollow">
    http://ovui.com.v
    n/


  4. #4
    CI Member myfaith237's Avatar
    Ngày tham gia
    22-03-2015
    Bài viết
    67
    Cảm ơn
    10
    Được cảm ơn 5 trong 4 bài viết
    Trích dẫn Gửi bởi tinhphaistc Xem bài viết
    bạn thêm đoạn code này vào trong thẻ <head></head> nhé.
    Không được đâu bạn ơi, mấy project khác của mình cái nào cũng có đoạn code này nhưng vẫn bị lỗi, kể cá thêm
    PHP Code:
    header('Content-Type: text/html;charset=UTF-8'); 
    vào đầu file controller cũng như vậy. Mà theo mình nghĩ thì đoạn code bạn nói chỉ có tác dụng hiển thị tiếng Việt trên trình duyệt thôi, còn trường hợp của mình là bị lỗi font tên file trong folder, chẳng có liên quan gì cả.
    Nếu bạn rãnh thì download code về chạy test thử giùm mình với, chẳng biết có phải do máy thiếu font hay không nữa.

  5. #5
    CI Member myfaith237's Avatar
    Ngày tham gia
    22-03-2015
    Bài viết
    67
    Cảm ơn
    10
    Được cảm ơn 5 trong 4 bài viết
    Trích dẫn Gửi bởi vudesign Xem bài viết
    Tốt nhất nên để config['file_name'] = $sub_name;

    $sub_name = bạn thay bằng code alias chuyển tiếng việt thành dạng file-nhac-cua-tui

    Bạn hiểu ý chứ . Còn nếu để tiếng việt có dấu thì sẽ gặp một số vẫn để về đường dẫn trên hosting . mình đã từng gặp


    Thân ái . Đoàn kết và quyết thắng....! lâu lâu vào đây xả sờ chết http//:ovui.com.vn
    Code alias là như thế nào hả bạn, nói thật là lần đầu tiên mình nghe đến cái từ này. Bạn có thể chỉ rõ hơn được không?

  6. #6
    Moderator vudesign's Avatar
    Ngày tham gia
    23-01-2014
    Bài viết
    324
    Cảm ơn
    22
    Được cảm ơn 45 trong 39 bài viết
    À thật ra alias là mình nói sử dụng một hàm để thay thế chuyển tiếng việt có dấu thành không dấu

    Cậu thử lệnh này url_title($_post['ten_bai_hat]);
    config['file_name'] = url_title($_post['ten_bai_hat]);

    nó xuất ra có dạng này . bai-hat-thieu-nhi.mp3
    Clip hay nhé keke truy cậphttp://ovui.com.vn/" href="http://ovui.com.vn/" target="_blank" rel="nofollow">
    http://ovui.com.v
    n/


  7. #7
    CI Member myfaith237's Avatar
    Ngày tham gia
    22-03-2015
    Bài viết
    67
    Cảm ơn
    10
    Được cảm ơn 5 trong 4 bài viết
    Trích dẫn Gửi bởi vudesign Xem bài viết
    À thật ra alias là mình nói sử dụng một hàm để thay thế chuyển tiếng việt có dấu thành không dấu

    Cậu thử lệnh này url_title($_post['ten_bai_hat]);
    config['file_name'] = url_title($_post['ten_bai_hat]);

    nó xuất ra có dạng này . bai-hat-thieu-nhi.mp3
    À mình đã hiểu rồi, thế này phải không: khi mình upload file có tên là tiếng Việt có dấu, trước khi lưu vào thư mục uploads thì dùng hàm alias để bỏ dấu thành tiếng Việt không dấu. Nhưng nếu như vậy thì lại có thêm 1 vấn đề : mình muốn lưu nhũng file này vào CSDL thì cũng phải lưu dưới dạng tiếng Việt không dấu (để lấy đường dẫn), nhưng khi hiển thị ra trình duyệt thì làm thế nào để hiển thị dưới dạng tiếng Việt có dấu, chẳng lẽ cứ phải để không dấu như vậy?

  8. #8
    Moderator vudesign's Avatar
    Ngày tham gia
    23-01-2014
    Bài viết
    324
    Cảm ơn
    22
    Được cảm ơn 45 trong 39 bài viết
    Cái này có gì đâu mà khó thêm một trường tiếng việt nữa là ok .
    Clip hay nhé keke truy cậphttp://ovui.com.vn/" href="http://ovui.com.vn/" target="_blank" rel="nofollow">
    http://ovui.com.v
    n/


  9. The Following User Says Thank You to vudesign For This Useful Post:

    myfaith237 (13-05-2015)

  10. #9
    CI New memlaptrinh's Avatar
    Ngày tham gia
    13-05-2015
    Bài viết
    3
    Cảm ơn
    0
    Được cảm ơn 0 trong 0 bài viết
    Mình đang làm bài tập về lập trình PHP cũng gặp lỗi giống thế này, loay hoay mãi vẫn chưa ra. Cảm ơn thông tin của các bạn nhé !

  11. #10
    CI Member myfaith237's Avatar
    Ngày tham gia
    22-03-2015
    Bài viết
    67
    Cảm ơn
    10
    Được cảm ơn 5 trong 4 bài viết
    Trích dẫn Gửi bởi vudesign Xem bài viết
    Cái này có gì đâu mà khó thêm một trường tiếng việt nữa là ok .
    Thanks bạn, có chút phiền phức nhưng mình cũng đã giải quyết xong rồi

Chia sẽ và Bình Luận chủ đề Bị lỗi font tên file tiếng Việt khi upload trên facebook

Các từ khóa xuất hiện trên google của chủ đề

www.forum.codeigniter.vn

anything

upload loi font tieng Viet

lỗi upload tên file tiếng việt trong laravel

Tag của Chủ đề này - Hãy Thêm Tags Để bài viết nhanh lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •