ปัญหาการเข้ารหัสเมื่อทำงานกับ SQL ใน PHP

โดยทั่วไป หากไม่ดำเนินการเพิ่มเติม ข้อความภาษารัสเซียเมื่อดึงข้อมูล จากฐานข้อมูลจะแสดงผลเป็นตัวอักษรที่อ่านไม่ออก หรือเครื่องหมายคำถาม เพื่อหลีกเลี่ยงปัญหาดังกล่าว ควรปฏิบัติตามกฎที่อธิบายไว้ด้านล่าง

กฎข้อที่ 1

ฐานข้อมูลและตารางในนั้นควรอยู่ใน การเข้ารหัส utf8_general_ci

กฎข้อที่ 2

ไฟล์ PHP เองควรอยู่ในการเข้ารหัส utf8

กฎข้อที่ 3

ที่ส่วนต้นของไฟล์ PHP ควรมีแท็ก HTML ดังต่อไปนี้:

html<meta charset="utf-8">

กฎข้อที่ 4

เพื่อความมั่นใจ ให้เพิ่มคำสั่งนี้ทันทีหลังจากคำสั่ง mysqli_connect:

php<?php
  mysqli_query($link, "SET NAMES 'utf8'");
?>