|
|
|
Supreme Being
      
участник
Last Login: 06.02.2003 8:05
Сообщ.: 187,
Visits: 2 058
|
|
Hi, All!
При генерации HTML в сервлете я могу перекодировать русский текст строки st st_rus_new=URLDecoder.decode(st_rus_old); Попадаются строки, содержащие и русские буквы и латинские вперемешку. И в этой строке мне нужно decodировать только русские буквы, а латинские оставить как есть. Как можно это сделать ?
Akula.
|
|
|
|
|
Forum Member
      
участник
Last Login: 11.08.2005 9:11
Сообщ.: 44,
Visits: 485
|
|
Если преобразовать строку в массив символов (есть такой метод:) потом проверить номер символа то насамом деле номера у разных символов разные, теперь осталось додумать что с этим делать
|
|
|
|
|
Supreme Being
      
участник
Last Login: 21.06.2006 23:51
Сообщ.: 326,
Visits: 3 588
|
|
Akula, ты хоть изредка доки читаешь?
URLDecoder.decode не обрабатывает английские буквы. Потому как на входе он кушает шестнадцатеричные коды например %E6%E0%E1%E0 а на выходе пишет жаба. А все, что пришло не в формате %HH, он оставляет as is (заисключением спецсимволов, например пробел передаётся как +) Причём английские буквы передаёт неизменными _браузер_. То есть если ты в каком-нить inpute напишешь cool жаба, то в своём сервлете ты получишь строку "cool+%E6%E0%E1%E0".
А если ты сам умудрился преобразовать английские буквы в формат %НН, то опять-таки их decoder нормально преобразует в буквы.
|
|
|
|