Đây có thể là một cái gì đó đơn giản. Tôi thề tôi đã tìm kiếm trực tuyến câu trả lời và không tìm thấy nó. Vì trường hợp cụ thể của tôi là một chút không điển hình, tôi cuối cùng đã quyết định hỏi ở đây.Thao tác dữ liệu utf8mb4 từ MySQL với PHP
Tôi có một vài bảng trong MySQL mà tôi đang sử dụng cho một chương trình tiếng Trung Quốc. Nó cần để có thể hỗ trợ tất cả các ký tự Trung Quốc có thể, bao gồm cả những người hiếm hoi mà không có hỗ trợ phông chữ tuyệt vời. Một ô mẫu trong bảng có thể là thế này:
東 菄 鶇 䍶 倲 涷 蝀 凍 鯟 崠 埬 䰤
Để nhận được rằng để làm việc ngay trong cơ sở dữ liệu, tôi đã để đặt mã hóa/đối chiếu thành utf8mb4. Càng xa càng tốt. Thật không may khi tôi kéo cùng một chuỗi vào PHP, nó được in như thế này:??
東 菄 鶇 䍶 倲 ?? 涷 蝀 凍 鯟 崠 埬 䰤
Làm thế nào tôi có thể cuối cùng đã giết tắt các dấu chấm hỏi còn lại và khiến chúng hiển thị như là các hình tượng đơn cực mà chúng nên là? Tôi đã có trang php sử dụng mã hóa UTF8 trong thẻ và dưới dạng thẻ meta.
Tại sao họ không thể liên lạc với nhau? Tôi đang làm gì sai?
Bạn có đang đặt mã hóa kết nối cơ sở dữ liệu không? Nếu vậy, làm thế nào và để những gì? Các ký tự thực sự được chuyển đổi ở đâu đó hay chỉ là vấn đề hiển thị? 'Bin2hex()' trên chuỗi đó cung cấp cho bạn trong PHP là gì? – deceze