Ich habe eine Tabelle, die ich mit verschiedenen Zeichen umgehen muss. Die Zeichen enthalten Ø, ® etc.Falscher String-Wert: ' xEF xBF xBD' für Spalte
Ich habe meine Tabelle auf UTF-8 als Standardsortierung eingestellt, alle Spalten verwenden Tabellenstandard, aber wenn ich versuche, diese Zeichen einzufügen, erhalte ich einen Fehler: Falscher Zeichenfolgenwert: '\ xEF \ xBF \ XBD‘für Spalte‚buyerName‘in Zeile 1
ist meine Verbindungszeichenfolge als
string mySqlConn = "server="+server+";user="+username+";database="+database+";port="+port+";password="+password+";charset=utf8;";
ich ratlos bin definiert, warum ich immer noch Fehler sehe. Habe ich irgendetwas mit dem .net Connector oder mit meinem MySQL Setup verpasst?
--Edit--
Meine (neu) C# Insert-Anweisung wie folgt aussieht:
MySqlCommand insert = new MySqlCommand("INSERT INTO fulfilled_Shipments_Data " +
"(amazonOrderId,merchantOrderId,shipmentId,shipmentItemId,"+
"amazonOrderItemId,merchantOrderItemId,purchaseDate,"+ ...
VALUES (@amazonOrderId,@merchantOrderId,@shipmentId,@shipmentItemId,"+
"@amazonOrderItemId,@merchantOrderItemId,@purchaseDate,"+
"paymentsDate,shipmentDate,reportingDate,buyerEmail,buyerName,"+ ...
insert.Parameters.AddWithValue("@amazonorderId",lines[0]);
insert.Parameters.AddWithValue("@merchantOrderId",lines[1]);
insert.Parameters.AddWithValue("@shipmentId",lines[2]);
insert.Parameters.AddWithValue("@shipmentItemId",lines[3]);
insert.Parameters.AddWithValue("@amazonOrderItemId",lines[4]);
insert.Parameters.AddWithValue("@merchantOrderItemId",lines[5]);
insert.Parameters.AddWithValue("@purchaseDate",lines[6]);
insert.Parameters.AddWithValue("@paymentsDate",lines[7]);
insert.ExecuteNonQuery();
Unter der Annahme, dass dies der richtige Weg ist parametrisierte Aussagen zu verwenden, ist es immer noch einen Fehler geben
"Incorrect string value: '\xEF\xBF\xBD' for column 'buyerName' at row 1"
Irgendwelche anderen Ideen?
Es kann hilfreich sein, wenn Sie den C# -Code posten, den Sie zum Einfügen in die Tabelle verwenden. –
Diese drei Zeichen sehen * fast * aus wie die [UTF-8 Byte-Reihenfolge-Markierung (BOM)] (http://en.wikipedia.org/wiki/Byte_Order_Mark). – stakx
Insert-Anweisung hinzugefügt, unsicher, wie hilfreich es ist, weil es eine Standard-Insert-Anweisung ist, aber wenn es hilft ... –