→ Peruheru: 如果打入中文,比如說"我",這個檢查就完全沒問題說... 09/19 15:00
推 johnpage: unicode 09/19 15:09
→ Peruheru: 現在的問題就在於,資料剛打上textbox就變成普通字母 09/19 15:13
→ Peruheru: 根本還來不及做任何處理 09/19 15:13
→ Peruheru: 還有哪邊可以用上unicode的設定呢? 09/19 15:14
→ a926: 如果你檢查的程式碼先取消,還是會有一樣的清況嗎? 09/19 17:32
→ a926: 我剛試建了一個新的winform 我的textbox沒有這個問題說 09/19 17:33
→ a926: 可以描述一下你的程式執行環境嗎 09/19 17:33
我發現一個情況,就是我的textbox設定字元長度為1
然後如果調大,這個字就可以顯示了
http://www.regexr.com/ 我把字貼在這網站上,發現他後面還跟著一個奇怪的符號
可是明明只是一個字
但這樣我就搞不懂了,如果是因為一個字元放不下表示這個字的所有資料
那中文字不是也應該會有一樣的問題嗎...
我在想這個字其實是一個e加上一個修飾,表現成一個字的樣子
所以如果只放的下第一個字,就只剩下e
但又不是所有的字都這樣orz...
※ 編輯: Peruheru (220.134.18.8), 09/19/2014 17:44:41
推 leicheong: 你找關於surrogates and supplementary characters 09/19 19:54
→ leicheong: 的文章看看吧. 09/19 19:54
→ leicheong: Unicode以normalization form D表示就會這樣. 09/19 19:55
→ leicheong: 關於normalization form可到unicode.org找tr15 09/19 19:56
推 leicheong: 用String.Normalize()先轉換成NFKC表示吧. 09/19 19:59
感謝你的回應,我先將輸入欄位限制稍微調大
然後用 String.Normalize() 將輸入值轉換為NFC以後
就可以以單一字元的方式處理他了
因為我還有另一個需求是要用正規式檢查他
而我檢查的內容是不可以含有英數
按照說明中如果使用NFKC的話,似乎在 e 上面有一撇的情況也會被 e 的檢查結果查出
(說明中提到如果是羅馬字母的 11(XI) ,查 X 時NFC查不到而NFKC查的到)
所以我覺得我好像是該用NFC來處理
不知道我有沒有誤解
※ 編輯: Peruheru (220.134.18.8), 09/22/2014 12:08:46