Blog

  • Kieu Cenah

    Fenomena teks jadi IÍŹDÍŹoÍŹcÍŹuÍŹmÍŹeÍŹnÍŹtÍŹ itu hampir selalu mengarah ke satu hal: encoding HTML kamu berubah atau double‑encoded, sehingga setiap karakter ASCII diubah menjadi bentuk UTF‑16/UTF‑8 yang rusak.
    Dan ini bukan salah PHPMailer—ini biasanya terjadi karena:

    • Editor kamu menyimpan file dalam UTF‑16 / UTF‑16 LE / UTF‑16 BE
    • Atau file HTML kamu mengandung BOM (Byte Order Mark)
    • Atau body email kamu di‑encode dua kali
    • Atau server cPanel menambahkan encoding otomatis
      Tenang, ini masalah klasik dan gampang dibereskan.

    🎯 Kenapa muncul karakter seperti “ÍŹ” ?
    Karakter seperti:

    adalah tanda bahwa:

    • File kamu disimpan dalam UTF‑16, tapi PHPMailer mengirimnya sebagai UTF‑8
    • Setiap byte dibaca sebagai 2 byte → jadinya karakter aneh
      Contoh:
    • Huruf (ASCII 44 hex)
    • Dalam UTF‑16 jadi
    • Kalau dibaca sebagai UTF‑8 → muncul
      Makanya teks kamu jadi kacau.

    🔧 Solusi 100% Fix
    ✔️ 1. Pastikan file disimpan sebagai UTF‑8 tanpa BOM
    Di editor kamu:
    Jika pakai Notepad++:

    • Menu Encoding
    • Pilih UTF‑8 (without BOM)
      Jika pakai VSCode:
    • Klik encoding di pojok kanan bawah
    • Pilih Save with encoding → UTF‑8
      Jika pakai cPanel File Manager:
    • Edit file → klik Encoding → pilih UTF‑8

    ✔️ 2. Tambahkan charset di PHPMailer
    Di bagian pengiriman email, tambahkan:

    Letakkan setelah:

    Ini memastikan:

    • Body HTML dikirim sebagai UTF‑8
    • Tidak ada double encoding

    ✔️ 3. Pastikan HTML kamu tidak di‑urlencode atau stripslashes berlebihan
    Dalam script kamu sebelumnya, kamu sudah aman.
    Tapi kalau kamu copy HTML dari Word atau Google Docs, encoding bisa rusak.

    ✔️ 4. Jangan simpan template email dalam UTF‑16
    Kalau kamu copy HTML dari file yang disimpan dalam UTF‑16, hasilnya pasti rusak.
    Pastikan file HTML kamu juga UTF‑8 tanpa BOM.

    🧪 Cara test cepat
    Masukkan body email:

    Kalau hasilnya:

    → encoding file kamu salah.
    Kalau hasilnya normal → fix berhasil.

    💡 Bonus: Cara mendeteksi encoding file
    Buka file di Notepad++
    Lihat menu Encoding:

    • Kalau tertulis UTF‑16 LE → penyebabnya ketemu
    • Kalau tertulis UTF‑8 BOM → kadang juga bikin masalah
    • Yang benar: UTF‑8

    🔥 Kesimpulan
    Masalah kamu 100% karena encoding file, bukan PHPMailer.
    Solusi final:

    • Simpan file sebagai UTF‑8 tanpa BOM
    • Tambahkan:

    Setelah itu, teks aneh seperti “ÍŹ” akan hilang total.

    Kalau kamu mau, aku bisa cek bagian mana di script kamu yang paling rawan menyebabkan encoding rusak—tinggal kirim snippet body email yang kamu pakai.

  • Hello world!

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!