作者lcp (没有昵称)
看板LinuxDev
标题QString 与中文字串
时间Mon Feb 16 22:04:09 2009
系统: Gentoo Linux
QT 版本:4.4.2
系统编码:Big5
最近练习写 qt 的时候发现的问题:
在处理有中文档名或路径的时候,我用 QFileDialog::getOpenFileName()
抓回来的 QString 用 qDebug() 看是正常的。
可是我需要把 QString 的内容转成 std:string 传给另一个 class function,
所以一开始我很直觉的使用 QString::toStdString 来转。
QString q_str = ....
func( q_str.toStdString() );
但是这样路径里面的中文会变成 ????,而不是正常的路径。
後来我是用另外的方式绕过:
QString q_str = ....
string str = q_str.toLocal8Bit().data();
func(str);
可是总觉得好像不够漂亮....:X
不知道有没有前辈遇到过这类的问题。
--
Amarok 2.0 在播放中文档名档案的时候也会说找不到,该不会是 qt4 的问题吧@@
因为 Amarok 1.4 在用 qt3 的时候完全没问题。
--
I know that half my advertising works,
I just don't know which half.
--John Wanamaker
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.43.183
1F:推 legnaleurc:应该是AmaroK自己的问题 02/18 14:21
2F:→ legnaleurc:我用AmaroK 2也会出现很多档案不能正常开启 02/18 14:21
3F:→ legnaleurc:还要用symbolic link解决 02/18 14:22
4F:→ lcp:我因为这样改回用 amarok 1.4.......Orz 02/18 16:35