不能保存中文破折号

wn61 2008-04-19 04:30:45
“本人自己给公司写了一个文本编辑器,用的是CRichEditView,制作了“撤销”和“重做”两个按钮,其功能是通过将CRichEditView中的内容用CMemFile 类的对象保存在内存中实现的,即每执行一个编辑,就将内容以内存文件(CMemFile)的形式保存在内存中,如果单击了“撤销”按钮,则将当前内容保存在另一个内存文件中,同时将前一个内存文件调入CRichEditView;如果单击“重做”按钮,则执行相反的操作。

问题是:只要执行了“撤销”和“重做”命令,也就是说通过了CMenFile调用了文件内容,则中文的双引号和破折号都会变成英文的双引号和破折号,其他任何东西(如行距、颜色、字体等)都没有变化!

请教各位大侠,CMemFile(内存文件)中,双引号和破折号有何特殊的地方? ”

这个问题解决了吗?我也遇到了同样的问题。

我也用的是richedit,不同的是我的只是不能保存中文破折号,双引号没问题,撤销/重做也没问题。每次保存以后再打开,就显示成了英文破折号,我用的是GOOGLE拼音输入法。
...全文
223 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wn61 2008-04-21
  • 打赏
  • 举报
回复
"mark一下,如果是richedit的问题,那你就只能曲线救国了:)"

;)准备重做的时候换成Scintilla
cnzdgs 2008-04-21
  • 打赏
  • 举报
回复
这是CRichEditView::StreamOut时自动转换的,如果LZ只要纯文本,可以把文档类的m_bRtf设置为FALSE来解决,如果需要TRF格式,可以从code page方面想办法试试,实在不行就自己做储存功能吧。
我不是大明 2008-04-21
  • 打赏
  • 举报
回复
你可以先debug一下,就打一个你存不进去的文字,然后保存这一个字符,看看存成是什么内容.用其它的Edit也可以打开看看里面是什么.
fengqinggao 2008-04-21
  • 打赏
  • 举报
回复
不好意思,我的也没解决,后来没时间研究了,呵呵,3楼的方法可以用一下试试看

有一阵没来了,还有人能找到我,谢谢了,:)
ToperRay 2008-04-21
  • 打赏
  • 举报
回复
编码的问题,你需要注意编码可能被改变。
吹雪 2008-04-21
  • 打赏
  • 举报
回复
mark一下,如果是richedit的问题,那你就只能曲线救国了:)
wn61 2008-04-21
  • 打赏
  • 举报
回复
这么多星星,激动啊;-),多谢了!

如果我选择保存为 RTF 格式,不管是不是同时指定 UNICODE 格式,"——" 都被转换成了 "\emdash\emdash";如果选择保存为文本格式,"——"可以正确保存。

复制"——"然后粘贴,就成了"--"。在写字板里试了一下,粘贴的结果也是"--"。估计还是 richedit 的问题。,其他的中文标点都是可以保存的。

to fengqinggao:
;) 我用“不能保存破折号”搜到的,多谢指点。
Kudeet 2008-04-20
  • 打赏
  • 举报
回复
中文破折号
===
你应该用UNICODE形式来实现文件保存,

参考:http://topic.csdn.net/u/20080415/18/67dcb00f-3ec1-4efa-8d91-efc28eed614d.html
Eleven 2008-04-19
  • 打赏
  • 举报
回复
up
用户 昵称 2008-04-19
  • 打赏
  • 举报
回复
你一定能查看文件导出和导入是否有差别吧,先查看是否自动变化了,如果没变化再看程序。

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧