jsからAjaxを経由して、asp.netでMySQLにデータをインサートしているのですが
MySQLの文字化けでちょっとつまずいているので質問させてください
動作確認環境は
Windows10 + Vs2019(IIS Express) + MySQL(xampp)
MYSQLのテーブル、フィールドは utf8_general_ci
です
---確認した事項---
ASP.net側でデバッグで確認するとajaxで送信されたデータは文字化けしていませんでした
phpmyAdminからデータを見ると文字化け(?)になっています
phpmyAdminから直接フィールドに日本語を入力すると正常にセットできます。
何か見落としているようなところ、考えられる要因などはないでしょうか、、
js
1 2sendData(para) { 3 4 this.data.append("mode", "test"); 5 this.data.append("device", "あいうえお"); 6 this.data.append("QR", "http://xxxxx.com"); 7 8 var options = {}; 9 options.url = "FileUploadHandler.ashx"; 10 options.type = "POST"; 11 options.data = this.data; 12 options.contentType = false; 13 options.processData = false; 14 options.beforeSend= function(xhr) { 15 xhr.overrideMimeType('text/html;charset=Shift_JIS'); 16 }; 17 options.success = function (result) { 18 //window.location.reload(); 19 }; 20 options.error = function (err) { 21 //window.location.reload(); 22 }; 23 24 $.ajax(options); 25 26 return; 27 28} 29
c#
1 2 string conStr = WebConfigurationManager.ConnectionStrings["MySqlDataSorce"].ConnectionString; 3 MySqlConnection conn = new MySqlConnection(conStr); 4 conn.Open(); 5 6 try 7 { 8 DateTime dtNow = DateTime.Now; 9 10 MySqlCommand cmd = new MySqlCommand("insert into db_test ( mode,device,qr,createday) values ( '" + context.Request.Form["mode"] + "','" + context.Request.Form["device"] + "','" + context.Request.Form["qr"] + "','" + DateTime.Now + "');", conn); 11 cmd.ExecuteNonQuery(); 12 cmd.Dispose(); 13 14 } 15 catch (MySqlException ex) 16 { 17 //logger.Debug("SQL Error:"); 18 } 19 finally 20 { 21 conn.Close(); 22 } 23 24 context.Response.ContentType = "text/plain"; 25 context.Response.Write("File(s) Uploaded Successfully!"); 26 27 28
回答1件
あなたの回答
tips
プレビュー