การแปลงภาษาไทยจาก latin1 เป็น utf-8 ใน PHP

มีความจำเป็นต้องดึงข้อมูลจากฐานข้อมูลที่อยู่บน application ตัวอื่น มาแสดงบนอีก application หนึ่งครับ ซึ่งข้อมูลต้นทางเก็บเป็น latin1 แต่ application ปลายทางนั้นต้องการแสดงเป็น utf-8 ปัญหาแบบนี้จะใช้ PHP แก้ได้อย่างไรครับ

ตอนนี้กำลังยักแย่ยักยันใช้รูปแบบ

$str = iconv(“latin1”, “UTF-8”, $str);

แต่ทำไมมันไม่ return อะไรออกมาเลย

โดยที่มาของข้อมูลนั้นอยู่บน MySQL5.0.2 สำหรับ WordPress
ถ้าใช้ phpMyAdmin - 2.11.2.1 เข้าไปดูจะอ่านภาษาไทยไม่ออก
แต่ถ้าดูผ่านหน้าเว็บที่เป็น WordPress จะแสดงภาษาไทยได้ถูกต้อง โดยที่ header ของเว็บจะกำหนด charset เป็น utf-8

รบกวนด้วยครับ

แสดงผลเป็น utf8 แล้วอ่านออก
สงสัยจะเก็บ utf-8 ในตาราง latin1 หรือเปล่าครับ

ต้องเห็นข้อมูลภาษาไทยในตารางกับรู้ charset ของตารางครับ ถึงพอจะดูออก

latin1 มันไม่ charset name ไม่ใช่ charset code นี่ครับ
latin1 = ISO-8859-1

แต่ถ้าข้อมูลเป็นภาษาไทย ต้องใช้ tis-620 ในคำสั่ง iconv นะครับ ไม่ใช่ iso-8859-1

เอ… ผมว่าถ้าเป็นไปได้เนี่ย ตั้งใหม่ แล้วใช้ให้ถูกเลยดีกว่านะครับ ดีกว่าต้องไปเสี่ยง ทำมาตั้งนานแล้วในอนาคต backup ไม่ได้ ที่ทำมาก็หมดเลย…

สู้ทำให้มันถูกต้องซะตั้งแต่ตอนนี้ จะได้ไม่มีปัญหาในอนาคตนะครับ