![]() |
The problem is solved - half of it, that is. UTF-8 has been accepted for the 0.7 proposal. Any language can be described by it. Now you just need a client that fully implements this proposal, and a computer with your desired default system locale, or a smart client that accepts any character in the UNICODE range. Just returning specific language servers for a specific language query isn't very desirable and anyway impossible to implement: You would need to explicitly specify the language of a file. This is bothersome, unnecessarily restrictive (think of a word which is written with the same Chinese characters in Korean, Chinese and Japanese) and much too complicated to implement. Also, what would you do with servers which offer mixed language files? The problem is solved, with the 0.7 proposal. Now it depends on the clients. |
mutibyte emulation option convert multibyte (utf-8) to non-lossy-ascii and search. convert non-lossy-ascii to utf-8 (alphabet would be passed) and display search result. is it effective? |
i have created utf-8 text by TextEdit OSX. and save as non-lossy-ascii. and open saved text with iso-latin-1 encoding fellow text was displayed. €u3053€u306e and copy and paste it to limewire search field, and push query button. it has passed. |
Another solution Being thought as evasion step the character string which is converted as the ISO-8856-1 code prepare the function which is converted to the correct character string. this is sample code. public static String raw2String(String raw, String encoding) throws UnsupportedEncodingException { return (new String(raw.getBytes("8859_1"), encoding)); } |
It is the processing where the program below at a time one character fetches character from String and transfers to doSomething method. this is sample. For support Limewire to UNICODE dynamic composition. public static void doSomethingPerCharacter(String string) { BreakIterator boundary = BreakIterator.getCharacterInstance(); boundary.setText(string); int start = boundary.first(); for (int end = boundary.next(); end != BreakIterator.DONE; start = end, end = boundary.next()) { String c = String.substring(start, end); doSomething(c); } } |
All times are GMT -7. The time now is 03:47 AM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.
Copyright © 2020 Gnutella Forums.
All Rights Reserved.