中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 其它操作系统综合讨论区 » 如何住编码是Unicode的TXT文件写入内容,不显示乱码?
« [1] [2] »
作者:
标题: 如何住编码是Unicode的TXT文件写入内容,不显示乱码? 上一主题 | 下一主题
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 16 楼』:  

我是瞎猫碰上死耗子,以前还真没有发现cmd /u这个参数。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-11-21 08:24
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
nipo
中级用户





积分 228
发帖 106
注册 2008-4-26
状态 离线
『第 17 楼』:  我这里为什么不能产生UNICODE文本呢

此贴珍贵,两位大侠详细介绍了cmd /u 的各种用法。

不过,很奇怪,我这里却不能产生UNICODE文本。

测试代码:
cls
if exist myfile.txt del myfile.txt
echo.
cmd /u /c "echo 歡迎來到中國DOS聯盟>>myfile.txt"
echo.
cmd /u /c "echo Hi!How are you?>>myfile.txt"
echo.
start myfile.txt

测试结果,生成的myfile.txt是ANSI码,且字符显示异常:

ak螐哋0R-N WD O S o€遶

H i ! H o w   a r e   y o u ?

更让我奇怪的是,这两列字符在我的记事本中呈一行排列,而到这里却自动分成两行了!

将上面代码中的myfile.txt改成myfile.rtf,结果更离奇:

ak螐哋0R-N
WD

--有很多小方框,复制过来后看不到了。暂时无法截图。

奇怪!既然帮助文件中也说得很清楚,这种方法怎么会出现非UNICODE文本的乱码情况呢?

2008-5-12 01:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
nipo
中级用户





积分 228
发帖 106
注册 2008-4-26
状态 离线
『第 18 楼』:  不用中文则正常生成UNICODE文本

cmd /u /c "echo Hi!How are you?>>myfile.txt"

结果生成UNICODE文本,如下:
Hi!How are you?

[ Last edited by nipo on 2008-5-12 at 01:30 AM ]

2008-5-12 01:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 19 楼』:  



  Quote:
Originally posted by nipo at 2008-5-12 01:04 AM:
此贴珍贵,两位大侠详细介绍了cmd /u 的各种用法。

不过,很奇怪,我这里却不能产生UNICODE文本。

测试代码:
cls
if exist myfile.txt del myfile.txt
ech ...

我的也是啊   不能使用中文吗?

2008-5-28 01:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 20 楼』:  



  Quote:
Originally posted by amio at 2008-5-28 01:44 AM:




我的也是啊   不能使用中文吗?

晕  原来是文本已在Unicode下

2008-5-28 02:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
stringoe
初级用户





积分 20
发帖 9
注册 2007-12-10
状态 离线
『第 21 楼』:  

Unicode搞得复杂了,这样一个像样的编辑器都好难搞得定
不知道最新的国标码会不会简单点

2008-6-3 18:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
thirteen
初级用户

夜语者



积分 58
发帖 29
注册 2007-4-22
来自 地狱十九重
状态 离线
『第 22 楼』:  



  Quote:
Originally posted by nipo at 2008-5-12 01:04 AM:
此贴珍贵,两位大侠详细介绍了cmd /u 的各种用法。

不过,很奇怪,我这里却不能产生UNICODE文本。

测试代码:
cls
if exist myfile.txt del myfile.txt
ech ...

UNICODE编码的文件,用16进制编辑器(如UE)打开看,最初的两个字节是FF FE
你这个方法,缺少那个文件头,
用UE补上FF FE,再打开就对了.

解决方法是,如果文件不存在,想办法先写FF FE进去

if exist myfile.txt echo >myfile.txt

小键盘ALT255,254,我这里显示有点不正常

[ Last edited by thirteen on 2008-6-7 at 08:42 PM ]



冰我喜欢你


无论如何,坚守最后的良知!
thirteen.pdx.cn
2008-6-7 20:40
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 23 楼』:  

给你一个文件unicode,http://upload.cn-dos.net/img/522.rar
把unicode这个文件复制到CMD当前目录下,输入

copy /y unicode myfile.txt
echo 歡迎來到中國DOS聯盟>>myfile.txt

[ Last edited by gmy on 2008-6-19 at 01:19 AM ]



DOS之家 http://doshome.com 站长 葛明阳
2008-6-19 01:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jiayi333
新手上路





积分 9
发帖 8
注册 2008-10-20
状态 离线
『第 24 楼』:  

学习了  原来命令在和UN编码使用的时候还可以这样

2008-10-20 02:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qingfushuan
高级用户





积分 502
发帖 327
注册 2006-12-30
状态 离线
『第 25 楼』:  搞出来没?

下面这句可以把dos-txt转换为Unicode-txt

for %%a in (~!zh!.txt) do cmd /u /c "type %%a >>!zh!.txt"

至于echo到文件就各人想办法咯

2008-12-29 14:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: