C#读取c++写入的sqllite遇到中文乱码的问题。

news/2025/12/2 19:00:50/文章来源:https://www.cnblogs.com/cwb8023/p/19299039

.netframework 4.8在读取sqllite数据库的时候遇到中文乱码的情况, 且我这个数据库在navicat中中文也是乱码的,这个软件也没看到哪里有调整编码格式的地方,是否是汉化的原因?

using (var conn = new SQLiteConnection($"Data Source={dbFilePath};Version=3;Read Only=True;"))

{
conn.Open();


foreach (var tableName in DiseaseTables)
{

if (!TableExists(conn, tableName))
continue;

string mileColumn = FindMileColumn(conn, tableName);
if (string.IsNullOrEmpty(mileColumn))
continue;

string sql = $@"
SELECT
[{mileColumn}] AS Mile,
COALESCE(Length,0) AS Length,
COALESCE(Width,0) AS Width,
COALESCE(Area,0) AS Area,
COALESCE(RSurfaceType,0) AS DiseaseTypeIndex,
hex(COALESCE(DisName,'')) AS DiseaseTypeNameHex
FROM [{tableName}]
WHERE [{mileColumn}] IS NOT NULL
ORDER BY [{mileColumn}]";

using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
using (SQLiteDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string disNameHex = GetString(reader, "DiseaseTypeNameHex");
string diseaseTypeName = "";
if (!string.IsNullOrEmpty(disNameHex))
{
byte[] bytes = HexStringToByteArrart(disNameHex);
diseaseTypeName = Encoding.GetEncoding("GB2312").GetString(bytes);

}
}

}

 

private static byte[] HexStringToByteArrart(string input)
{
input = input.Replace(" ", "").Trim().ToUpper();
byte[] buffer = new byte[input.Length / 2];
for (int i = 0; i < input.Length; i += 2)
{
buffer[i / 2] = (byte)Convert.ToByte(input.Substring(i, 2), 16);
}
return buffer;
}

就是这个diseaseTypeName之前的写法一直还是乱码 根据网上查到的说法 是c++写入的时候编码格式不对, 尝试了各种方法,最后发现如上文这样写之后可以看到正常的中文了。

 

 

 

参考:https://www.cnblogs.com/axiaoshuye/p/15895229.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/984685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

06.Servlet容器

1.在 web.xml 中配置前端处理器 <servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param…

PbootCMS留言发送到邮箱,邮件标题如何修改

在 PbootCMS 中,当用户提交留言时,系统会自动将留言内容发送到指定的邮箱。默认情况下,邮件标题由系统自动生成,格式如下: 【PbootCMS】您有新的表单信息,请注意查收!如果需要自定义邮件标题(如改为公司名称或…

【Linux进阶系列】:线程(上) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

23、【Ubuntu】【远程编写】内网穿透:SSH 反向隧道

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【STM32】定时器、PWM - 教程

【STM32】定时器、PWM - 教程2025-12-02 18:52 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important…

租房买房必看4门口乱堆杂物,正在悄悄“截断”全家人的好运气!

4 门口乱堆杂物,正在悄悄“截断”全家人的好运气! 4.1 导语:回家像“赴刑场”?别怪压力大,是你的门在“拒客”! 你是否也有这样的感觉: 明明忙碌了一天,可一想到要推开家门,心里就升起一股莫名的烦躁和抗拒,…

大模型安全:共享 GPU 本地内存泄露

大模型安全:共享 GPU 本地内存泄露(LeftoverLocals) 威胁描述 在某些 GPU 架构中,每个计算单元(Compute Unit)都配备专属的私有本地内存(local memory)。若 GPU 在进程结束后未自动清除该本地内存中的数据,则…

React Hooks闭包陷阱导致的状态错乱,怎么办

React Hooks的闭包陷阱是导致状态“过期”、行为不符合预期的经典问题。其核心原因是:Hook(如useEffect, useCallback, useMemo)在其创建时“捕获”了当次渲染时的状态或Props值,形成了一个闭包。当依赖项未正确设…

MAF快速入门(4)多Agent工作流编排

本文介绍了如何使用MAF框架完成基本的多Agent工作流编排,并给出了两个常用的编排案例:移交编排 和 顺序编排,最后介绍了如何借助结合流式执行 和 内置事件 完成工作流的进度监控。大家好,我是Edison。 上一篇,我们…

人工智能之数据分析 Pandas:第一章 简介和安装

人工智能之数据分析 Pandas:第一章 简介和安装人工智能之数据分析 Matplotlib 第一章 简介和安装@目录人工智能之数据分析 Matplotlib前言📌 Pandas 的核心数据结构🛠️ 安装 Pandas使用 pip(推荐用于大多数 Py…

Dbeaver - 一些好用的设置

1 允许多语句查询 allowMutiQueries 这个在连接设置里2 去掉 limit 默认值生成快速SQL执行脚本(不卡顿)自定义[内容辅助]

内存管理-54-slub-1-文档翻译等 - Hello

内存管理-54-slub-1-文档翻译等一、slub.rst 翻译 注: 翻译自 msm-5.4/Documentation/vm/slub.rst 1. SLUB 简明用户指南 SLUB 的基本理念与 SLAB 截然不同。SLAB 需要重新编译内核才能激活所有 slab 缓存的调试选项。…

MYSQL - 数据库优化:慢查询

一、数据库优化步骤二、Sys Schema 监控 索引相关 #1. 查询冗余索引 SELECT * FROM sys.schema_redundant_indexes;#2. 查询未使用过的索引 SELECT * FROM sys.schema_unused_indexes;#3. 查询索引的使用情况 SELECT i…

完整教程:AI代码开发宝库系列:PDF文档解析MinerU

完整教程:AI代码开发宝库系列:PDF文档解析MinerU2025-12-02 18:31 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

2025年烤兰打包带厂家口碑排行,这十家备受推崇,打包带钢/光伏支架打包带/电镀锌打包带/铜棒打包带/镀锌打包扣烤兰打包带销售厂家推荐排行榜

在工业包装与物流运输领域,烤兰打包带作为一种关键的紧固与防护材料,其质量直接关系到货物运输的安全与效率。随着制造业与物流业的持续发展,市场对高品质、高可靠性打包带的需求日益增长,也催生了一批在技术、服务…

实用指南:海外短剧系统开发:应对高并发访问的数据库优化与缓存策略

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年12月AI SEO优化公司推荐:解锁智能搜索流量新密码

2025年,AI技术与搜索引擎优化深度融合,生成式引擎优化成为企业抢占流量的核心抓手,78%的企业级组织已将AI技术纳入SEO核心策略。在这一趋势下,专业的AI SEO优化公司能帮助企业精准适配多平台算法,实现流量与转化的…

易路:连锁餐饮人力资源数智化转型升级新引擎

引言:连锁餐饮业的“人”力挑战与数智化机遇 连锁餐饮业作为典型的劳动密集型行业,其管理分散、顾客接触密切、人员流动率高等业务特性,使得人力资源管理面临着独特的复杂挑战[1]。从快速扩张带来的组织架构调整压力…

尘埃粒子计数器生产厂家联系电话,大流量尘埃粒子计数器/粒子计数器/尘埃粒子计数器/悬浮粒子计数器/尘埃粒子计数器厂家排名

在生物医药、半导体、精密制造等高端产业中,洁净室环境的稳定与可靠是产品质量的生命线。尘埃粒子计数器作为洁净度监测的核心设备,其性能与供应商的技术实力直接挂钩。面对市场上众多的生产厂家,如何快速锁定技术可…

尘埃粒子计数器供应商推荐榜,台式粒子计数器/尘埃粒子计数器在线监测系统/大流量尘埃粒子计数器/尘埃粒子计数器公司电话

行业洞察:精准监测需求驱动,技术实力成厂商分水岭 随着半导体、生物医药、精密电子等高端制造业对生产环境洁净度要求日益严苛,尘埃粒子计数器作为洁净环境监测的核心设备,其市场需求持续增长。市场不仅关注基础计…