Trước đây tôi sử dụng máy chủ sql 2005 làm cơ sở dữ liệu trang web của mình và mọi thứ hoạt động tốt. bây giờ tôi đã thay đổi thành Máy chủ MySql 5.5 cơ sở dữ liệu vì nó là nguồn mở.Ngoại lệ của MySql: Không thể đặt biến 'character_set_client' thành giá trị 'utf16'
Tôi đã sử dụng Navicat Premium để chuyển dữ liệu của tôi từ máy chủ sql sang mysql. Tôi sử dụng mysql workbench và navicat để quản lý cơ sở dữ liệu của mình. Các vấn đề xảy ra khi tôi khai báo kết nối với cơ sở dữ liệu mysql. đây là mã của tôi:
MySqlCommand cmdselect;
MySqlConnection conNDB;
MySqlDataReader Mydtr;
string server = "localhost";
string database = "maindb";
string uid = "root";
string password = "abc123";
string strCon = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
string strSelect = "SELECT * FROM announcement";
conNDB = new MySqlConnection(strCon);
conNDB.Open();
cmdselect = new MySqlCommand(strSelect, conNDB);
Mydtr = cmdselect.ExecuteReader();
rptAnnounce.DataSource = Mydtr;
rptAnnounce.DataBind();
Mydtr.Close();
conNDB.Close();
Tham chiếu đến MySql.Data đã được đặt. Ở đây tôi đã nhận thông điệp này lỗi:
Ngoại lệ chi tiết: MySql.Data.MySqlClient.MySqlException: Biến 'character_set_client' không có thể được thiết lập để giá trị của 'UTF16' nhắn Lỗi tuyên bố lỗi này xảy ra trong khi kết nối.Open();
Khi tôi tiếp tục làm mới trang lỗi, đôi khi tôi gặp lỗi khác. đây là nó: Các chi tiết
Ngoại lệ: MySql.Data.MySqlClient.MySqlException: Dự kiến cuối gói dữ liệu Thông báo lỗi cho biết lỗi này xảy ra trong quá Mydtr = cmdselect.ExecuteReader();
Tôi mới dùng mysql. tôi không biết vấn đề này là gì. tôi đoán vấn đề này xuất phát từ cài đặt hoặc dữ liệu của cơ sở dữ liệu, không phải mã nguồn của tôi.
bất kỳ ai biết giải pháp? Giúp đỡ của bạn được đánh giá rất cao. tôi đã cố gắng 4 ngày nhưng không thể giải quyết được.
Bạn có thể vui lòng kiểm tra và cho chúng tôi biết giá trị biến character_set_client của bạn là gì trong cơ sở dữ liệu của bạn, bạn có thể xem nó bằng cách sử dụng truy vấn mysql: HIỂN THỊ BIẾN TỪ "ký tự%" –
hi Etienne Rached, tôi đã kiểm tra^^ là tất cả trong utf8. và tôi đã đăng bài trả lời của bạn trong hướng dẫn của bạn ^^. đây là liên kết: http://www.codeproject.com/Messages/3932728/Re-i-got-some-bugs.aspx –
Tôi gặp phải một vấn đề tương tự và bộ ký tự của tôi là latin1 mà trong những ngày cũ là mặc định . Tôi đã thay đổi thành utf8 trên bảng và các cột trong truy vấn có vấn đề và sự cố đã biến mất. Không chắc chắn lý do tại sao latin1 sẽ gây ra một vấn đề ngoại trừ có thể một số bảng là utf8 và những người khác là latin1 và nó không thích sự pha trộn –