因为数据库表里字符长度一个中文是2字节,但如果直接用string的Length一个中文才算1,所以要转为byte[]处理,不然长度与数据库里的长度会不符超长判断无效导致保存不了。
byte[] bytCodena = Encoding.Default.GetBytes(Codena);
int len = bytCodena.Length;
if (len > 250)
{
byte[] dstArray = new byte[250];
Buffer.BlockCopy(bytCodena, 0, dstArray, 0, dstArray.Length);
Codena = System.Text.Encoding.Default.GetString(dstArray);
}