Các vấn đề mã hóa khi làm việc với SQL trong PHP
Như một quy luật, nếu không thực hiện các hành động bổ sung, văn bản tiếng Nga khi nhận được từ cơ sở dữ liệu sẽ được hiển thị dưới dạng chữ vô nghĩa hoặc dấu hỏi. Để tránh những vấn đề như vậy, cần tuân theo các quy tắc được mô tả dưới đây.
Quy tắc 1
Cơ sở dữ liệu và các bảng trong đó phải ở định dạng
mã hóa utf8_general_ci.
Quy tắc 2
Bản thân tệp PHP phải ở định dạng mã hóa utf8.
Quy tắc 3
Ở đầu tệp PHP phải có thẻ HTML sau:
<meta charset="utf-8">
Quy tắc 4
Để đề phòng, ngay sau lệnh mysqli_connect,
hãy thêm truy vấn sau:
<?php
mysqli_query($link, "SET NAMES 'utf8'");
?>