[PHP, MySQL] แสดงผลจากฐานข้อมูลให้เป็นภาษาไทยไม่ได้ซักทีครับ

กระทู้คำถาม
ตอนแรกแสดงผลในหน้าเว็บเป็นภาษาไทยได้แล้ว เพราะตั้งให้ทุกอย่างเป็น UTF-8 ครับ แต่ชื่อไฟล์ในฐานข้อมูลกลับเป็นภาษาต่างดาว
ทราบมาว่าต้องส่ง query "SET NAMES utf8" เพื่อให้ชื่อไฟล์ในฐานข้อมูลเป็นภาษาไทย พอเซ็ตแล้วก็เป็นภาษาไทยจริง ๆ ครับ
แต่การแสดงผลในหน้าเว็บกลับเป็น "???????????????" ตลอดเลยครับ

คือถ้าในฐานข้อมูลเป็นภาษาไทย ในหน้าเว็บจะเป็น "???"
ถ้าในฐานข้อมูลเป็นภาษาต่างดาว เช่น "รัฐศาสตร์ เฟซ3.jpg" ในหน้าเว็บจะเป็นภาษาไทยครับ

ตอนนี้ทุกอย่างเป็น UTF-8 ดังนี้ครับ:

1. ไฟล์ HTML ที่ใช้อัปโหลดไฟล์:
- <meta http-equiv="Content-Type" content="text/html">
- <meta charset="UTF-8">
- encode ไฟล์เป็น UTF-8 ครับ

2. ไฟล์ PHP ที่ใช้ประมวลผลตอนอัปโหลดขึ้นฐานข้อมูล:
- header("Content-type: text/html; charset=utf-8");
- mysql_query("SET NAMES utf8");     // -- ตัวนี้ทำให้ในฐานข้อมูลเป็นภาษาไทย ถ้าลบบรรทัดนี้ออก ในเว็บก็เป็นภาษาไทยเหมือนเดิมครับ (แต่ในฐานข้อมูลจะเป็นต่างดาว ตามที่ได้กล่าวไปแล้วครับ)
- encode ไฟล์เป็น UTF-8 ครับ

3. ไฟล์ HTML ที่ใช้แสดงผลชื่อไฟล์จากฐานข้อมูล:
- <meta http-equiv="Content-Type" content="text/html">
- <meta charset="UTF-8">
- encode ไฟล์เป็น UTF-8 ครับ

4. ไฟล์ PHP ที่ใช้ดึงข้อมูลจากฐานข้อมูลมาป้อนให้ไฟล์ HTML ในข้อ 3. ครับ:
- header("Content-type: text/html; charset=UTF-8");
- encode ไฟล์เป็น UTF-8 ครับ

และได้ลองเพิ่มโค้ดข้างล่างนี้ลงไปในไฟล์ข้อ 4. ก็ไม่มีอะไรเปลี่ยนแปลงครับ:
- mysql_query("SET character_set_results=utf8");
- mysql_query("SET character_set_client=utf8");
- mysql_query("SET character_set_connection=utf8");

*EDIT*
ใช้ phpMyAdmin ทำฐานข้อมูลครับ collation คือ utf8_unicode_ci (ลองเปลี่ยนเป็น general_ci แล้วก็เหมือนเดิมครับ)
*EDIT*

ลองเว็บใน Chrome และ Firefox ก็เหมือนกันครับ

ผิดถูกควรไม่ควรทำอะไรยังไง ชี้แนะด้วยครับ กำลังฝึกครับผม ขอบคุณครับ
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่