QString 與中文字串
系統: 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
推
02/18 14:21, , 1F
02/18 14:21, 1F
→
02/18 14:21, , 2F
02/18 14:21, 2F
→
02/18 14:22, , 3F
02/18 14:22, 3F
→
02/18 16:35, , 4F
02/18 16:35, 4F
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章