Chỉ cần đọc Stefan Gehrig câu trả lời tuyệt vời cho Is "SET CHARACTER SET utf8" necessary?, mà đi xa hơn một chút so với tài liệu của MySQL tại giải thích các giai đoạn diễn giải và chạy truy vấn w.r.t. bộ ký tự và collations, nhưng tôi vẫn không thể thực sự thấy mục đích của character_set_connection, hoặc cụ thể hơn chuyển mã câu lệnh từ character_set_client thành character_set_connection.Mục đích của character_set_connection là gì?
Tại sao không chỉ sử dụng character_set_client cho truy vấn và chuyển mã trực tiếp từ character_set_client thành tập ký tự của cột khi so sánh với giá trị cột? Mục đích của giai đoạn trung gian này là gì? Tài liệu hướng dẫn này đưa ra ví dụ về việc so sánh các bản in chữ, nhưng tại sao bạn lại muốn thực hiện điều này ngay từ đầu, hãy để một mình trong character_set_connection như trái ngược với character_set_client? Trừ khi sự hiểu biết của tôi về điều này (một cái gì đó như "chọn" somestr '=' somestr 'từ x ") là sai.
Cảm ơn bạn.
Bạn có thể nhận được câu trả lời không thỏa đáng. Tôi rất có thể là giao thức mạng MySQL không hỗ trợ chuyển máy chủ được sử dụng mã hóa và cho khách hàng cần biết cách diễn giải các ký tự đến trên mạng và nó không bị hỏng vì lý do tương thích. Tôi đoán, đây không phải là câu trả lời. – 0xCAFEBABE
Cảm ơn bạn đã trả lời, và có lẽ tôi không hiểu, nhưng tôi nghĩ rằng character_set_results được sử dụng để gửi kết quả và điều này được chọn bởi khách hàng. Theo như tôi biết từ các giải thích, character_set_connection chỉ được sử dụng nội bộ bởi MySQL. – lm713
Tôi tin rằng đây là những gì MySQL sẽ sử dụng khi nhận dữ liệu –