Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Masalah Encoding Karakter dengan PHP Simple HTML DOM Parser

@deceze dan @Shakti terima kasih atas bantuan Anda.

+1 untuk tautan artikel yang diposting oleh deceze (Menangani Unicode Depan ke Belakang di Aplikasi Web ) dan juga layak dibaca Memahami encoding

Setelah membaca komentar, jawaban, dan tentu saja kedua artikel tersebut, saya akhirnya menyelesaikan masalah saya.

Saya telah membuat daftar langkah-langkah yang saya lakukan sejauh ini untuk mengatasi masalah ini:

  1. Menambahkan header('Content-Type: text/html; charset=utf-8'); di bagian atas file init.php saya,
  2. Mengubah SET CHARACTER dari bidang tabel database saya yang menyimpan nilai tersebut ke UTF-8,
  3. Setel charset koneksi MySQL ke UTF-8 mysql_set_charset('utf8', $connection_link_id);
  4. Menggunakan fungsi htmlentities() untuk mengonversi karakter $meta_title = htmlentities(trim($meta_title_raw), ENT_QUOTES, 'UTF-8');

Sekarang masalah ini tampaknya terpecahkan, TAPI saya masih harus melakukan hal berikut untuk menyelesaikan masalah ini secara LENGKAP.

  1. Dapatkan rangkaian karakter yang disandikan dari sumber $source_charset .
  2. Ubah penyandian string menjadi UTF-8 jika sudah tidak dalam penyandian yang sama. Untuk ini satu-satunya fungsi PHP yang tersedia adalah iconv() . Contoh:iconv($source_charset, "UTF-8", $meta_title_raw);

Untuk mendapatkan $source_charset Saya mungkin harus menggunakan beberapa trik atau pemeriksaan multi. Seperti memeriksa header dan meta tag dll. Saya menemukan jawaban yang bagus di Deteksi penyandian

Beri tahu saya jika ada peningkatan atau kesalahan pada langkah saya di atas.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SERVER – Salah Satu Trik Menangani SQL Dinamis untuk Menghindari Serangan Injeksi SQL?

  2. Cara Mendapatkan Data Minggu Ini di MySQL

  3. Meminimalkan kueri SQL menggunakan join dengan hubungan satu-ke-banyak

  4. Tiga Grup pertama dengan Nilai Tertinggi harus memiliki poin tertentu

  5. Pilih data di antara dua tanggal?