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

Cara menangani karakter internasional dengan benar di PHP / MySQL / Apache

Apache

Encoding server harus tidak disetel, atau disetel ke UTF-8. Ini dilakukan melalui arahan Apache AddDefaultCharset. Ini bisa masuk ke virtualhost atau file umum (lihat dokumentasi).

AddDefaultCharset utf-8

MySql

  • Setel susunan database menjadi UTF-8
  • Setel penyandian koneksi. Itu dapat dilakukan seperti yang dikatakan seseorang dengan mysqli_set_charset, atau dengan mengirimkan ini setelah terhubung:
    SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'

PHP

1- Anda harus menyetel rangkaian karakter HTML halaman menjadi UTF-8, melalui tag meta pada halaman, atau melalui header PHP:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-or-
    header('Content-type: text/html; charset=utf-8');

2- Anda harus selalu menggunakan versi mb* dari fungsi yang berhubungan dengan string, misalnya, mbstrlen daripada strlen untuk mendapatkan panjang string dari sebuah string.

Ini akan memungkinkan Anda untuk memiliki UTF-8 di mana-mana, dari halaman hingga data. Tes yang dapat Anda lakukan:klik kanan di mana saja pada halaman menggunakan firefox, dan pilih Tampilkan informasi halaman. Encoding yang efektif tercantum di halaman itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LOAD DATA LOCAL INFILE tidak berfungsi dari php 5.5 menggunakan PDO

  2. Cara Menampilkan Kumpulan Server di MySQL

  3. php/mysql dengan banyak kueri

  4. Bagaimana menemukan apakah nama kolom adalah kata kunci yang dicadangkan di berbagai basis data

  5. pelengkapan otomatis menunjukkan semua entri, Tidak melakukan pencarian apa pun