2014-03-28 109 views
0

我正在開發一個python2.7 qt4應用程序,它從mysql數據庫中提取非拉丁字符並將它們打印到控制檯。我正在使用pydev和eclipse。當我從eclipse IDE運行應用程序時,應用程序運行良好,但是當我從控制檯運行我的應用程序時,它不像它應該那樣運行。任何想法,爲什麼這可能會發生?我正在使用一臺arch linux機器。python2.7 pyqt4非拉丁字符

+0

這可能是因爲您的控制檯的默認編碼不適合。 – icedtrees

+0

但是,您的問題太模糊了,我們需要更多關於輸出和預期輸出的細節。當我們所知的所有「不按照它的行爲」時,你如何獲得幫助? – icedtrees

+0

我有一個textEdit小部件和一個listwidget在我的表單中。當我在textEdit小部件中輸入某些東西時,listwidget會被填充textEdit的不同字符。這些角色也被打印在控制檯中。當我在textEdit小部件中鍵入非拉丁字符時,控制檯和listwidget輸出問號而不是實際字符。我還有另一個listwidget項目,它顯示存儲在數據庫中的非拉丁字符。這個小部件不顯示任何東西。那就是問題所在。當我從終端運行我的應用程序時,我看不到非拉丁字符 – MrRisoni

回答

0

這可能是因爲您的終端的默認編碼不支持UTF-8字符。

Here是一個鏈接,介紹如何更改您的終端的默認編碼。

這裏是什麼它描述了一個摘要:

  1. 取消註釋一個UTF-8的區域設置在/etc/locale.gen,例如en_US.UTF-8 UTF-8
  2. 以root身份運行locale-gen

爲了使區域改變系統範圍:

  1. 添加LANG="en_US.UTF-8"/etc/locale.conf

你可能有變化後重新啓動終端。