Русская р в perl
- phaoost
- Неотъемлемая часть форума
- Сообщения: 289
- Зарегистрирован: 12 янв 2005, 01:22
- Откуда: Minsk
- Контактная информация:
Русская р в perl
натолкнулся на странный глюк. если слово содержит маленькую русскую р, то /\w+/ станоситься false. пришлось вставлять \xf0. протестил все остальные русские буквы - тот же эффект на 'э'. с остальными - всё нормально. LC_TIME="ru_RU". поставил ru_RU.CP1251 - всё стало нормально. в чём проблема с ru_RU?
cheers,
phaoost.
phaoost.
гы, подземный стук, типа?
(А ваще в linux, и вероятно, не только в нём, по умолчанию кодировка koi8-r, наерно предлагается при конфигурации console-cyrillic?)
(лично я не помню уже что она (console-cyrillic) там мне пыталась по своему усмотрению подсунуть - дело то, кажися в ней?)
(А ваще в linux, и вероятно, не только в нём, по умолчанию кодировка koi8-r, наерно предлагается при конфигурации console-cyrillic?)
(лично я не помню уже что она (console-cyrillic) там мне пыталась по своему усмотрению подсунуть - дело то, кажися в ней?)
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev
- Eugene
- Маньяк
- Сообщения: 162
- Зарегистрирован: 13 фев 2004, 15:02
- Откуда: Minsk
- Контактная информация:
Есть предположение.
Когда ты указывал локаль ru_RU perl мог брать какую-нибудь русскую локаль, но не CP1251. Для этой локали символы с кодами, соответствующими символам "р" и "э" могут и не являться alphanumeric'ами (поэтому и не матчатся \w). Чтобы выяснить точно, нужно узнать какая локаль берется перлом при указании ru_RU и посмотреть файл этой локали на предмет символов с кодами, соотв. "р" и "э" в CP1251.
Когда ты указывал локаль ru_RU perl мог брать какую-нибудь русскую локаль, но не CP1251. Для этой локали символы с кодами, соответствующими символам "р" и "э" могут и не являться alphanumeric'ами (поэтому и не матчатся \w). Чтобы выяснить точно, нужно узнать какая локаль берется перлом при указании ru_RU и посмотреть файл этой локали на предмет символов с кодами, соотв. "р" и "э" в CP1251.
/born to bash/
[ updated: 2006-02-21 ]
/born to zsh/
[ updated: 2006-02-21 ]
/born to zsh/
- Eugene
- Маньяк
- Сообщения: 162
- Зарегистрирован: 13 фев 2004, 15:02
- Откуда: Minsk
- Контактная информация:
Согласен с Llama.
phaoost, поясни как ты в перле юзаешь поддержку локали?
Надо ее просто включить через use locale. А ты похоже делаешь setlocale, что ни есть правильно.
А вообще-то на работу регекспов LC_TIME влиять не должен никак, влияет LC_CTYPE.
phaoost, поясни как ты в перле юзаешь поддержку локали?
Надо ее просто включить через use locale. А ты похоже делаешь setlocale, что ни есть правильно.
А вообще-то на работу регекспов LC_TIME влиять не должен никак, влияет LC_CTYPE.
/born to bash/
[ updated: 2006-02-21 ]
/born to zsh/
[ updated: 2006-02-21 ]
/born to zsh/