C#把数据库表里简体字转化为繁体字

前言:

有一个需求改动,需要把一张表里的所有数据从简体中文改为繁体中文。表的数据也不多,大概500左右。大概有几种思路:
1.手动翻译,然后用Navicat等工具直接文本替换(相同文本多还好,少还是很难受)
2.调公共的翻译接口,再使用ORM保存(翻译接口大多收费)
3.直接使用程序翻译,再使用ORM保存

还是第三种方法更方便一些,我查阅了一下,可以通过VB的方法(.Net core无法使用)和加载一个简繁体转换的dll来实现。

获取转换器

这里用的第二种方法,不过不用去下载那个dll,直接去NuGet里获取就可以得到
在这里插入图片描述
使用方法也非常简单,只需要调用转化方法即可
在这里插入图片描述
在这里插入图片描述

去转化表的数据

这里以繁体字转简体字为例(反之也可以)
这里的ORM框架可以使用任意一种,例子里用的是SqlSugar.
现有一张表
在这里插入图片描述
使用DbFirst指定表名直接去创建一个类文件
在这里插入图片描述
在这里插入图片描述
直接获取集合,修改属性,然后保存执行

 			SqlSugarClient client = new SqlSugarClient(new ConnectionConfig()
            {
    
    
                ConnectionString = "server=.;database=XXXX;uid=XXXX;pwd=XXXXXX;",
                DbType = DbType.SqlServer,
                IsAutoCloseConnection = true
            });

            List<Sample> samples = client.Queryable<Sample>().ToList();

            samples.ForEach(item=> {
    
    
                item.col1 = ChineseConverter.Convert(item.col1, ChineseConversionDirection.TraditionalToSimplified);
                item.col2 = ChineseConverter.Convert(item.col2, ChineseConversionDirection.TraditionalToSimplified);
                item.col3 = ChineseConverter.Convert(item.col3, ChineseConversionDirection.TraditionalToSimplified);
            });

            
            client.Updateable<Sample>(samples).WhereColumns(it => new {
    
     it.Id }).ExecuteCommand();

            client.Close();  

查看数据库:
在这里插入图片描述
字段被改成了简体,但是因为数据库的字符集设置错误造成了一些乱码(并不是程序的问题)。

猜你喜欢

转载自blog.csdn.net/jamenu/article/details/127088054