UTF-8 là một tình nhân hay thay đổi. Đối với một ứng dụng web thông thường, bạn phải đặt UTF-8 ở nhiều cấp độ. Ngay cả khi mã phpMyAdmin hoạt động tốt với UTF8, nó không hoạt động trong môi trường chân không: cấu hình máy chủ rất quan trọng. Cơ sở dữ liệu cũng vậy, và nguồn dữ liệu cho cơ sở dữ liệu cũng vậy. Chúng ta hãy tóm tắt các khu vực ma sát tiềm năng trong một ứng dụng chung, với trọng tâm cụ thể là các lĩnh vực quan tâm đến phpMyAdmin.
A. Nguồn dữ liệu
Khi dữ liệu được nhập vào cơ sở dữ liệu, chẳng hạn như từ tệp văn bản, nó phải có mã hóa đúng. Các dấu phụ có thể được hiển thị trong Excel, nhưng mã hóa có thể là bất cứ điều gì. Vì vậy, bạn có thể có một tệp CSV trông đúng nhưng không nhập đúng. Bạn có thể kiểm tra và chuyển đổi mã hóa tệp CSV của mình trong trình chỉnh sửa văn bản như EditPad hoặc IDE như Komodo. Trong Notepad ++, mà nhiều người có, bạn có thể chọn "Mã hóa" để xem mã hóa hiện tại của mình và bạn có thể chọn Mã hóa / Chuyển đổi sang UTF8 khi cần.
B. Trong cơ sở dữ liệu của bạn. Bộ ký tự và đối chiếu của bảng phải được đặt thành UTF-8. Có vẻ như bạn có thể đã làm như vậy.
Nếu không, bạn cần một cái gì đó như:
ALTER TABLE MyTable
DEFAULT CHARACTER SET utf8,
COLLATE utf8_general_ci;
Đó là cài đặt chung, nhưng đối chiếu Rumani của bạn cũng sẽ hoạt động tốt.
C. Kết nối với cơ sở dữ liệu. Bạn cần một cái gì đó như:
$connectDSN = "mysql:host={$db_host};dbname={$db_name};charset=UTF-8";
PhpMyAdmin nên kết nối chính xác. Trên trang đích, bạn sẽ thấy
Server charset: UTF-8 Unicode (utf8)
Nếu không, hãy tiếp tục đọc.
D. php phải xử lý UTF8. Trong php.ini, bạn sẽ muốn một cái gì đó như:
default_charset = UTF-8
mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.detect_order = auto
mbstring.substitute_character = “0xFFFD”
Bạn có thể kiểm tra cài đặt máy chủ của mình bằng phpinfo (). Trên máy chủ được chia sẻ, bạn thường không có quyền truy cập vào php.ini và phải thay đổi cài đặt trực tiếp trong tập lệnh. Nhân tiện, hãy nhớ sử dụng các hàm mb.
E. Thiết lập tiêu đề
Để trình duyệt biết những gì nó đang nhận, nó cần nhận một tiêu đề như sau đây được gửi bởi php:
<?php header('Content-type: text/html; charset=UTF-8'); ?>
Đây không phải là một vấn đề với phpMyAdmin. Trong Firefox, sử dụng tiện ích mở rộng Web Developer, bạn có thể truy cập Thông tin / Xem thông tin trang. Trong tab Chung, điều này sẽ hiển thị cho bạn mã hóa.
F. Thẻ Meta HTML
Điều này được khuyến nghị để giúp trình duyệt.
<meta charset="UTF-8">
Đây không phải là một vấn đề với phpMyAdmin. Một lần nữa kiểm tra trong trình duyệt những gì nó đang mã hóa.
G. Phông chữ
Trình duyệt có thể không có phông chữ để hiển thị một số ký tự, mặc dù các phiên bản hiện đại khá tốt về phông chữ dự phòng. Đây có lẽ không phải là một vấn đề trong trường hợp của bạn.
Vì vậy, có nhiều nơi mà mọi thứ có thể đi sai.
Hy vọng điều này sẽ giúp bạn xác định vấn đề!
Khi mọi thứ xếp thành hàng, rồi phép màu ... Bạn có UTF8 ở mọi nơi.
Và đừng quên:
ಇಲ್ಲಿ ಸಂಭವಿಸು ಇಂದೆನ್ನ
ಅವತರಿಪ ಸತ್ಯಾವತಾರ