-
最新日志
标签
分类
-
博客统计
- 6,839 点击
功能
存档页
- 2012年01月
- 2011年12月
- 2011年10月
- 2011年06月
- 2011年04月
- 2011年02月
- 2011年01月
- 2010年12月
- 2010年11月
- 2010年10月
- 2010年09月
- 2010年08月
- 2010年07月
- 2010年06月
- 2010年05月
- 2010年04月
- 2010年03月
- 2010年02月
- 2010年01月
- 2009年12月
- 2009年11月
- 2009年10月
- 2009年09月
- 2009年08月
- 2009年07月
- 2009年06月
- 2009年05月
- 2009年04月
- 2009年03月
- 2009年02月
- 2009年01月
- 2008年12月
- 2008年11月
- 2008年10月
- 2008年09月
- 2008年08月
- 2008年07月
- 2008年06月
- 2008年05月
- 2008年04月
- 2008年03月
- 2008年02月
- 2008年01月
- 2007年12月
- 2007年11月
- 2007年10月
- 2007年09月
- 2007年08月
- 2007年07月
- 2007年06月
- 2007年05月
- 2007年03月
- 2007年01月
- 2006年12月
- 2006年11月
- 2006年10月
- 2006年09月
- 2006年08月
- 2006年07月
- 2006年06月
- 2006年05月
- 2006年04月
- 2006年03月
- 2006年02月
- 2006年01月
- 2005年12月
- 2005年11月
- 2005年10月
- 2005年09月
Tag Archives: Unicode
VC9 开发的程序不用 Unicode 库就没有 XP 风格
才写了一个星期的小软件,最近突然发现没有 XP 风格了,折腾了十来分钟才发现是因为项目没有采用默认的 Unicode 字符集,而前几天作出这个决定是因为软件依赖的第三方类库提供的接口不是 Unicode 的,参数转换来转换去的实在有点麻烦。。。 关于这个问题,这里有一个比较详细的说明及解决方法:使程序界面具有XP风格(在VS2003和VS2005中),补充一点,VC9 里不需要编辑 *.rc2 文件,直接将 manifest 文件加入到项目里就可以了。
搞不懂的 Unicode
之前对 Unicode 的了解并不怎么多,前几天因为在开发上有些新想法要验证一下,就上网看了不少相关的资料,感觉上理解是增进了不少,但我的问题依旧没搞定:( 记录一下,留待以后解决吧:从 MFC 应用程序中通过 ADO 来访问 UTF8 编码的 MySQL 数据库(ODBC 的驱动),只涉及到比较平常的查询、修改等操作,编码转换本身是没啥问题(就是说没乱码啥的),但比如一个 varchar(32) 的字段(据了解这个 32 应该是字符数而不是字节数),我却只能写十来个中文字进去,多了就报错,读也只能读出来十个左右,不知道中间的转换过程哪里出了问题。。。作为对比,从 phpMyAdmin 中操作这些字段完全正常。 PS. 推荐阅读:http://blog.csdn.net/fmddlmyy/category/279030.aspx。
UTF8 编码的 srt 字幕
前些天下了个叫《维度》的数学科普片(中文介绍,FTP 下载),附带多种语言的字幕,但都是 UTF8 编码的,然后问题就来了。 mplayer 的 kk 版搞不定,缺省配置下,字幕内容倒是能正常显示,但时间轴会莫名地错乱,然后发现可以通过配置文件搞定,大致是 utf8=yes 并且在 subcp 中把 utf8 提到最前面,但这样的后果就是普通的 gbk 编码的字幕就放不了。。。 再试试 mpc 吧,当然,管字幕的还是 vobsub,试下来 n 年前的 v2.23 是不认的,还好之后的 v2.33 和 v2.37 都没问题。 既然 kk 版早已停止升级,就也试了之后的 ww 版,居然问题依旧。。。题外话,本来把参数配置做到图形界面中就是为了简化使用,但有必要啥都放进来吗?现在这个版本的配置界面看上去比原来看 ini 文件要晕多了。。。 还是继续 mpc + kk 版 … 繼續閱讀
诺基亚音乐管理器中的歌曲信息显示乱码
就是那个英文名叫做 Nokia Music Manager 的东东,诺基亚 PC 套件的组件之一,添加进去的 mp3 文件,相当一部分中文歌曲都会显示乱码,应该是这个软件对 mp3 文件中 tag 信息的编码处理有问题,上网搜阿搜的,发现诺基亚官方自己有个 MP3 Tag Convertor 的软件,试了一下,似乎有点土,然后又找到一篇比较全面的相关介绍文章:《对 mp3 乱码问题的分析和解决》。 试了一下 id3iconv,还行,但 windows 上似乎使用起来不太方便,然后就想能不能利用 foobar 中那个巨好用的 masstagger 组件来比较方便地完成这个工作,经确认完全可以,只是还需要修改一处设置。我用的 foobar 是 0.9.4.5 版本,默认是按照现有的 tag 编码方式改写 mp3 文件的 tag 信息,只需要在 Preferences -> Advanced … 繼續閱讀
IE 和 UTF-8
如果一个页面是用 UTF-8 编码,而且在 Title 标签中含有中文内容,而且 Title 标签在 Meta 标签之前(主要指那个指定页面编码的 Meta 标签),那么 IE6 或是 IE7 都将无法解析这个页面,具体的现象就是页面空白,这时如果在 IE 中手动将页面编码切换成 UTF-8,页面就可以正常显示。 最近在翻译 BOINCstats 的时候碰到点问题,最后才查出来是上面说的原因,感谢万能的 Google。 作为 IE 的忠实用户,很悲痛地发现,FireFox 没有这个问题。 附1:问题的详细说明可以参照《IE中打开UTF-8编码title为中文的网页会显示空白页的问题》。 附2:UTF-8 中应该是用三个字节来编码一个汉字,在浏览器中查看页面源代码时仍显示为汉字,而源代码中类似于 文 这样的代码,应该也是 unicode 编码的汉字,只是再用 ISO-8859-1 包装了一层。
[整理] 用VC6进行UNICODE编程
最近试图将自己的程序编译成Unicode版本,费了不少力气,相关内容整理如下,适用于VC6,但VC7、VC8应该也差不多的(后者新建项目缺省即按Unicode编译)。 1. 添加 UNICODE 和 _UNICODE 预处理定义 位置:Project Settings -> C/C++ -> Preprocessor definitions 添加了这两个定义后,MFC的一些内置类型如 TCHAR、CString 都将转为支持宽字符类型(wchar_t) 2. 使用宽字符相关类型,如: char -> TCHAR、char * -> LPTSTR、const char * -> LPCTSTR 3. 对字符串常量使用 _T() 宏 4. 替换C库中的中字符串操作函数,如 strlen -> _tcslen、strcmp -> _tcscmp … 繼續閱讀