cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1605|回复: 10

[labview求助] 请问如何将这个时间数据里的乱码清除?急急急!!!

[复制链接]
发表于 2011-6-1 17:53:53 | 显示全部楼层 |阅读模式
建立了labview与access数据库的连接,并且向数据库输入计算机里的日期,但是查看数据时,显示了一个乱码,请高手指点,怎么把这个乱码消掉啊?谢谢啦!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2011-6-1 18:08:06 | 显示全部楼层
首先用Hex display或'\' Codes display查看下原始的字符串是否已经是乱码.
另外, 如果是非英文字符, 例如中文(简体,繁体)或韩文或日文等, 向Access或SQL数据库中写的时候,要使用 N'你的数据' , 否则也可能会乱码的.
在SQL数据库中可以使用nvarchar或nchar数据类型, 而不要使用char.

你可以搜索一下UTF-8看看.
 楼主| 发表于 2011-6-20 15:27:01 | 显示全部楼层
labc 发表于 2011-6-20 12:41
我没有用过繁体系统, 不好回答你.
如果在你的繁体系统中, 连你桌面上文件夹名字中的简体都不能看, 倒可以用 ...

多谢labc大哥,系统里文件夹的简体名称是可以显示的,,{:soso_e100:} 我发个邮件问问看吧,呵呵!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2011-6-9 10:15:20 | 显示全部楼层
回复 labc 的帖子

请问“ N'你的数据' ”指的是什么?
发表于 2011-6-9 18:05:30 | 显示全部楼层
本帖最后由 labc 于 2011-6-9 18:05 编辑

例如:
INSERT INTO Table
                      (ColumnA, ...)
VALUES     (N'123',...)
发表于 2011-6-18 17:56:08 | 显示全部楼层
本帖最后由 labc 于 2011-6-18 18:37 编辑

其实你没有解决这个问题, 只是迂回过去了.

前面我说的中文文本数据的储存, 用N'你的数据'的形式,  记得不大清楚了,好像是在SQL数据库中的形式.
刚才试了下, Access中直接用"你的数据"的形式(我的系统和Access全是中文的, 日期时间格式为‎2011‎/‎6‎/‎18‎/ 18:36).
在Access中储存日期/时间格式的数据, 用#你的时间#的形式.

我推测当初存储到Access里的时间格式和你现在电脑系统显示的格式之间不匹配, 例如2011年1月1日和2011/1/1就不大一样.
可能当初储存时也存在一些中文字符(或日文, 反正不是英文).

可参考下面的程序, 可以自动识别不同的时间格式:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2011-6-18 16:20:11 | 显示全部楼层
labc 发表于 2011-6-9 18:05
例如:
INSERT INTO Table
                      (ColumnA, ...)

labc大哥,经过我的研究,系统时间的问题已经解决,{:soso_e100:} 通过可以单独提取数字字符,而且可以自定义格式,避开了乱码的字符,显示如图。再次感谢!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2011-6-20 09:50:42 | 显示全部楼层
我明白你的时间字符串是从哪里得到的了, 并不是从Access中得到的, 这纯粹是语言的问题, 不用管它.
使用我贴的那个vi, 加以扩展, 可以识别出很多格式的日期/时间信息.
重要的一点, 日期时间信息向数据库中存储时, 最好是英文, 不包含中文(简体/繁体). 否则将来读出或在其他用户那儿显示的时候, 有可能出现乱码, 就像你现在看到的.
 楼主| 发表于 2011-6-20 10:13:47 | 显示全部楼层
labc 发表于 2011-6-20 09:50
我明白你的时间字符串是从哪里得到的了, 并不是从Access中得到的, 这纯粹是语言的问题, 不用管它.
使用我贴 ...

恩,我都是用英文存入数据库的。而系统时间这个数据,一开始时我并没有对它进行格式编辑,导致里面带有乱码。我想知道,有没有什么办法,在简体labview中能成功显示繁体系统的汉字字符的方法(当然不是将这个字符串存入数据库,只是在前面板显示出来)?呵呵。。。
发表于 2011-6-20 12:41:00 | 显示全部楼层
本帖最后由 labc 于 2011-6-20 12:51 编辑

我没有用过繁体系统, 不好回答你.
如果在你的繁体系统中, 连你桌面上文件夹名字中的简体都不能看, 倒可以用Windows安装光盘给操作系统添加简体语言试试.
否则, 请直接发个邮件给NI, 问一下就清楚了, 不用再花费时间了.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2011-6-20 09:17:22 | 显示全部楼层
labc 发表于 2011-6-18 17:56
其实你没有解决这个问题, 只是迂回过去了.

前面我说的中文文本数据的储存, 用N'你的数据'的形式,  记得 ...

labc大哥 这是我根据您的程序做的,这是我显示的结果,我的系统是繁体系统,labview是简体程序,所以在读取系统的汉字字符时就会出现乱码,对于时间显示这部分我暂时可以用之前的程序将乱码避开,但之后编程有可能需要读取系统汉字字符,不知道对此您有没有什么办法?谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-5-5 14:06 , Processed in 0.545935 second(s), 5 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表