我已經建立了使用FPS虛擬鍵盤WPF從FPS組件作爲我的屏幕鍵盤觸摸屏的Windows應用程序的鍵盤語言。這個鍵盤有一個按鈕,可以通過安裝在Windows中的任何鍵盤語言進行循環,並且在整個應用程序中一切都很好。我遇到的問題出現在應用程序的一個方面,它可以鏈接到運行相同應用程序的其他本地網絡面板,並顯示從第一個輸入的一些信息。如果用戶將鍵盤語言切換爲阿拉伯語,則發送到遠程面板的字符串將顯示爲「?????」,我假定這是因爲語言不匹配。C# - 檢測輸入字符串
有沒有確定使用什麼語言的鍵盤輸入一個字符串,然後正確地顯示它的一個比較簡單的方法是什麼?從應用程序的角度來看,接收面板不需要實際更改其本地鍵盤設置,所以我寧願只是能夠正確顯示傳入的字符串,而不考慮語言,除非Windows的要求是本地設置更改。
的面板都與Windows上運行7
你看過:http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture%28v=vs.110%29.aspx – Quintium 2014-08-28 16:50:15
CultureInfo.CurrentUICulture – ethicallogics 2014-08-28 17:03:36
一旦你已經捕獲一個字符串,輸入語言應該不重要;文字是文字。你如何編碼發送到其他網絡面板的字符串?您是否有測試往返文本編碼的手段,以查看是否有不同的unicode範圍在該過程中存在?根據你所看到的,網絡代碼可能會做一些天真的事情,比如執行簡單的char <=>字節轉換,而不是使用適當的文本編解碼器。 – 2014-08-28 17:24:14