| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > кириллица |
| Автор: virin 6.6.2005, 10:09 |
| Подскажите, плиз, начинающему: Как преобразовать Unicode вида р в нормальные русские буквы? |
| Автор: batigoal 6.6.2005, 10:21 |
| Где именно? В документе, в программе? |
| Автор: virin 6.6.2005, 10:27 |
| в JTextPane, с которым ассоциируется HTMLDocument |
| Автор: mixture 16.7.2005, 12:56 | ||||
| Сам столгнулся с этой ужастью. После длительного рытья в исходниках javax.swing.text.html.* Обнаружил вот такое (HTMLWriter):
В простейшем случае, решение может выглядеть так (мне этого хватило):
Для & нужно заводить отдельный мап чарактеров. |
| Автор: batigoal 16.7.2005, 12:58 |
| Думается мне, что есть другой способ, кроме изменения исходников |
| Автор: mixture 16.7.2005, 13:20 | ||||||
| Никакое это не изменение. делается это так String s = getPlainUnicodePlease(jMyTextPane.getText()); Можно было бы конечно унаследоваться от HTMLWRiter, скопировать часть исходников, где нет оцифрения юникодов и переопределить метод output, однако HTMLEditorKit и не позволяет просто так использовать свой Writer. JTextPane
JTexTComponent
HTMLEditorKit
Нужно HTMLEditorKit тоже наследовать. Хотя, не получится. Методы дедушек не достанешь, область видимости свойств не поменяешь |
| Автор: Гость_Sleepy_PIP 17.7.2005, 20:47 |
| вот. и я попал. есть простейшая String, содержащая "ftp%3A%2F%2F194.67.139.192%2FCD+3D+%EC%EE%E4%E5%EB%E8+2000" надо это хоз-во перевести к виду: "ftp://194.67.139.192/CD 3D модели 2000" честно скажу - 40 мин. копался - не понимаю. устал? ну может быть. но я даже не понимаю как получить список допустимых чарсетов в java.nio.charset.Charset! Еще раз - речь идет о преобразовании одной строки - в другую ... элементарном. пробел тут у меня боооольшой. не понимаю |
| Автор: Sleepy_PIP 17.7.2005, 22:02 |
| это не гость. это Sleepy_PIP |
| Автор: tux 18.7.2005, 03:44 | ||||
Декодирование URL:
Список доступных кодировок:
|
| Автор: Sleepy_PIP 18.7.2005, 11:06 | ||||||
ага. с URL понятно. Спасибо большое! а в общем случае - как конвертировать строки между чарсетами? Спасибо! |
| Автор: tux 18.7.2005, 11:21 |
Вообще говоря, конвертирование строк нужно только если в JVM поступает что-то извне (например, из файлов читается или по сети передается), все строки в Java хранятся в Юникоде. Для потоков ввода-вывода есть такая возможность:
|
| Автор: 3,14 19.7.2005, 12:09 | ||||
| По-моему при преобразовании в Unicode и обратно удобнее пользоваться просто String-ами. Преобразовать в String:
Получить байты в нужной кодировке тоже не проблема:
|
| Автор: tux 19.7.2005, 12:22 | ||
Однако, тогда нужно иметь уже готовый массив байтов, что не всегда достижимо. Впрочем, часто действительно удобнее, не зря ведь такую возможность предусматривали. |
| Автор: Dibazzol 16.7.2007, 17:35 | ||
| А подскажите пожалуйста! Есть метод, я уже в нем поменять умудрился каждую букву, все равно ничего не выходит:
Им я пытаюсь получить у яндекс.директ ключевые слова для поиска. С английскими словами все отлично получается, несмотря на кривость написания, а вот что делать с русскими, я не могу понять. ответ сервера получается в некоторой странной кодировке, где все, что на англ. читабельно, а на русском - нет. В связи с этим, метод ничего не может найти. Я перепробовал уже все возможные кодировки. Что посоветуете? Добавлено через 2 минуты и 15 секунд Может быть стоит просто запрос key перевести в урл формат? Добавлено через 7 минут и 41 секунду АА!! все получилось, в очередной раз респекты LSD! http://forum.vingrad.ru/topic-112179.html |