gpt4 book ai didi

c# - 如何通过 iraninanSystem 代码页将信息存储到 dbf 文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:45 29 4
gpt4 key购买 nike

我通过下面的代码绑定(bind)到 Dbf 文件并存储我的信息

    public int save_dbf_func(string source_dbf, string str_command)
{
try
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + source_dbf + ";Extended Properties=dBASE IV;User ID=;Password=;"); // give your path directly
OleDbCommand Cmd = new OleDbCommand();

if (con.State == ConnectionState.Closed) con.Open();
Cmd.CommandText = str_command;
Cmd.Connection = con;
int RowEffect = Cmd.ExecuteNonQuery();
con.Close();
return RowEffect;
}
catch (Exception ex)
{
var mm = ex.ToString();
return -1;
}
}

例如:

save_dbf_func("c:\folder", "insert into file.dbf (fName , lName) values ('مرتضی' , 'زند')")

然后通过 dll 将我的字符串转换为伊朗系统代码页,例如:

    CONVERTLib.ConvertorClass convert_dll = new CONVERTLib.ConvertorClass();

textBox1.Text = convert_dll.WinToIran('مرتضی');

转换后的字符串到文本框中是正确的,但是当我将字符串存储在 Dbf 文件中时,大多数字符显示 ???? ??? ??????.

请指导我如何使存储在数据库中的信息不被损坏。

谢谢

最佳答案

您不能在 DBF 文件中存储 unicode 文本,它只允许存储 ANSI 字符。因此,在插入 DBF 文件之前,您应该将伊朗语 unicode 文本转换为 ANSI 字符集。另外不要忘记在结果 DBF 文件中设置 1256 Arabic Windows 字符集标志。

关于c# - 如何通过 iraninanSystem 代码页将信息存储到 dbf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22142955/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com