我正在從OBEX推送傳輸到我們從Android手機構建的嵌入式系統。該轉讓我的Debian的桌面上工作,但與嵌入式系統上失敗的錯誤 「obexd [741]:斷開:Unicode轉換失敗:可從‘utf16be應按’到‘utf-8’沒有打開轉換器」GLIBs UTF16BE和UTF-16BE之間的區別以及如何支持UTF16BE
現在,當我鍵入「iconv -l」我可以看到我在我的debian桌面上設置了UTF16BE,但不是在我的嵌入式系統上。在這兩個系統上,我都在嵌入式系統上使用UTF-8和UTF-16BE,但不使用UTF8和UTF16BE。我被我的構建系統中的某些軟件包的舊版本卡住了,所以我想我只需要構建一個更新版本的glib。我設法建立了2.27.93,我認爲它比debian stable更新。在構建之後,它會像以前一樣列出相同的字符集。我也下載了debian源文件,並查找缺少破折號的引用,但還沒有發現任何東西。
如何與UTF-16BE一起獲得對UTF16BE字符集的支持?他們真的不一樣嗎?
在我的桌面系統上,但在嵌入式系統上,gconv目錄不存在。我認爲UTF編碼類型正在被代碼讀入,因此不能被接收器改變。事實證明,接收系統上的Obexd代碼是決定將其稱爲UTF16BE而不是UTF-16BE的,因此我只是對其進行了更改,重新編譯並且現在一切正常。感謝您的幫助,我敢肯定,如果我的桌面缺少字符集,這將會奏效。 –