我们有一套为ASCII字符集开发的应用程序。现在,我们正在尝试将它安装在冰岛,并且遇到了冰岛人物被搞砸的问题。你如何编写对UTF-8安全的代码?
我们正在解决我们的问题,但我想知道:是否有一个很好的“指南”,用于编写专为8位字符设计的C++代码,以及在UTF-8数据发送给它?
我不能指望每个人都阅读整个Unicode标准,但如果有更易消化的东西,我想与团队分享,这样我们就不会再遇到这些问题。
重写所有应用程序以使用wchar_t或其他字符串表示形式目前不可行。我还会注意到,这些应用程序通过网络与使用8位字符的服务器和设备进行通信,所以即使我们在内部执行了Unicode,我们在边界处仍然存在翻译问题。大多数情况下,这些应用程序只是传递数据;他们不会以任何方式“处理”文本,只能将文本从一个地方复制到另一个地方。
使用的操作系统是Windows和Linux。我们使用std :: string和普通的C字符串。 (不要问我任何辩护的设计决定的,我只是想帮助解决混乱。)
这里是什么已经建议名单:
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
- UTF-8 and Unicode FAQ for Unix/Linux
- The Unicode HOWTO
您能否确认我们您的应用的操作系统?你是否为Windows编程?你是大量使用std :: string还是更低层次的 C头? –
paercebal
2008-09-25 16:54:15
如果你喜欢一个答案,请注意它 - 没有理由吝啬。 – 2008-09-25 17:02:48
只有30分钟,你已经要求重新提升? :) – 2008-09-25 17:15:56