怪事1:
两段代码:
QTextCodec* loc = QTextCodec::codecForLocale();
QTextCodec::setCodecForCStrings(loc);
QTextCodec::setCodecForLocale(loc);
QTextCodec::setCodecForTr(loc);
与*****************************************************
QTextCodec::setCodecForCStrings("GB2312");
QTextCodec::setCodecForLocale("GB2312");
QTextCodec::setCodecForTr("GB2312");
环境:Qt4.3.2 Win7
我知道,第一段代码会比第二段代码要好,原因是QTextCodec::codecForLocale();返回最适合当前环境的编码,但是我觉得第二段代码也应该是没有问题的,关于编码的话,浏览器就可以解释各种编码,难道操作系统不行吗? 在我的机器上GB2312是没有问题的,但是UTF-8就会出现乱码,在我朋友的电脑上,两个都会出现乱码,他的系统是XP,但是没有qt环境(难道是因为没有plugins里面的dll文件?)。这是问题1
怪事2:
关于JPEG格式图片保存问题,我的截图程序基本完成,除了在没有安装qt环境的时候,jpg格式图片保存不成功,保存后位0字节。我的程序QPixmap save保存图片,然后带了Qtcore4.dll和QtGui4.dll两个库,在网上查,说还要有jpeg的库,在plugins\imageformats\qjpeg4.dll ,就是在执行程序的当前目录下加一个imageformats\qjpeg4.dll,就可以用jpeg格式的图片了,但是我这里仍然不行,这是问题2
我实在是很郁闷,对于怪事1,网上说加上第二段代码就绝对没问题,并且代码放的位置是没问题的,对于怪事2,网上说在执行程序当前目录下加文件夹imageformats然后将qjpeg4.dll放进去就ok,但是在我这里也不行。。。
求帮助
谢谢