今天在QtCreator中code的时候,遇到了一个奇怪的问题。我写了以下一段代码:
QString filePath;
filePath = QFileDialog::getOpenFileName(NULL,QString("打开户型图"),QString(),QString("户型图文件(*.bmp *.jpg *.png)"));
编译器报如下错误:
E:\Qt Projects\Huxing\src\mainwindow.cpp:87: error: C2146: 语法错误: 缺少“)”(在标识符“鎴峰瀷鍥炬枃浠”的前面)
不用说,一定是中文编码的问题。于是在网上查阅了一番资料,得出了以下一些心得。
中文字符一般采用两套编码,GBK和UTF-8。Windows平台下一般是GBK编码,其他平台一般是UTF-8。我的这个源文件是用QtCreator生成的,在工具-》选项-》文本编辑器-》行为中我设置了默认编码为UTF-8,而我的编译器是MSVC,编码为GBK,所以就产生了错误。
解决