substr截取中文字符串的问题!

wangsiyuanoo 2009-04-15 09:39:25
substr截取中文字符串会出现乱码是怎么回事?
我新建一个win32的工程去测试不会出现乱码
但放在公司的工程中就会出现
到底是什么原因呢?
...全文
316 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
http://space.itpub.net/13523843/viewspace-441866
解决用substr()函数对中文字符串截取时的乱码
wangsiyuanoo 2009-04-15
  • 打赏
  • 举报
回复
好奇怪

string str1 = m_menuItems[i].text; //m_menuItems[i].text是string类型的
if ("克孜勒苏柯尔克孜自治州" == str1 )
{
strTemp = "克孜勒";
}
string str = strTemp; //这样得到的strTemp竟然也是乱码~~~~~~


公司的工程怎么回事哦~~~~
郁闷死了
wangsiyuanoo 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Loaden 的回复:]
编译器VC:
检查一下你公司文件的编码:是否UTF-8?
如果是ANSI工程,却使用UTF-8编码,则乱码。

编译器MinGW:
需要setlocale(LC_ALL, "");
[/Quote]

请问这个怎么检查啊。。。不会
老邓 2009-04-15
  • 打赏
  • 举报
回复
检查一下你公司文件的编码:是否UTF-8?
-------
再解释一下:指源文件编码。
看有中文的那个源代码,是否是UTF-8格式。

另,一定要使用UTF-8,则需要设置BOM的(VC),而MinGW相反!
老邓 2009-04-15
  • 打赏
  • 举报
回复
编译器VC:
检查一下你公司文件的编码:是否UTF-8?
如果是ANSI工程,却使用UTF-8编码,则乱码。

编译器MinGW:
需要setlocale(LC_ALL, "");
老邓 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangsiyuanoo 的回复:]
引用 1 楼 Loaden 的回复:
编译器VC:
检查一下你公司文件的编码:是否UTF-8?
如果是ANSI工程,却使用UTF-8编码,则乱码。

编译器MinGW:
需要setlocale(LC_ALL, "");


请问这个怎么检查啊。。。不会
[/Quote]
用记事本(notepad.exe)打开源文件,再另存为,看其编码。
如果是UTF-8的话,改成ANSI再保存。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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