SOLVED [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
fazzi
Sędziwy Jeż
Sędziwy Jeż
Posty: 51
Rejestracja: 07 sty 2007, 14:04
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

SOLVED [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: fazzi »

Witam,

Mam taki kod:

Kod: Zaznacz cały

QRegExp regExp("([a-z]){2,}");
    bool test=regExp.exactMatch(tekst);
Wszystko jest cacy, dopóty, dopóki nie użyję polskich znaków. Wtedy program się buntuje i krzyczy: false ! Wpisanie jako zakresu wszystkich polskich ogonków nic nie daje.
Żeby było ciekawiej jak zmienię na:

Kod: Zaznacz cały

QRegExp regExp("(.){2,}");
Wszystko jest w porządku, i tego właśnie nie rozumiem dlaczego. Kodowanie ustawione na UTF-8 zarówno w systemie jak i w programie (QTextCodec i tak dalej). Wszędzie mogę wprowadzać polskie litery, i tylko tu taki kwiatek. Funkcja qDebug() wyrzuca na terminal sprawdzany tekst tak jak go wpisałem, czyli z polskimi znakami. Trzeba coś włączyć, wyłączyć, doinstalować ? Wujek Google nie pomógł.:-(

Używam:
Ubuntu Studio 10.04.
Netbeans 6.9.1 - ze strony producenta.
Java firmy Sun - z repo.
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: Hauleth »

A jak dasz \w{2,}
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
fazzi
Sędziwy Jeż
Sędziwy Jeż
Posty: 51
Rejestracja: 07 sty 2007, 14:04
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: fazzi »

Hauleth pisze:A jak dasz \w{2,}
Też nie działa. Nie działa nawet z alfabetem angielskim.:evil: Zmieniłem nawet Javę na tę od Suna i nic to nie dało. Wyszperałem, że może to wynikać z odmiennego kodowania, w którym NetBeans zapisuje pliki, choć nie mam pojęcia jak to sprawdzić. Spróbuję jak będzie w Eclipse.
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: Hauleth »

Ale ty to piszesz w Javie czy w C++? To sprawdź z tym kodowaniem, z \w powinno działać o ile RegExpy z Qt są zgodne z Perlowymi.
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
mikolajs
Wytworny Kaczor
Wytworny Kaczor
Posty: 352
Rejestracja: 15 paź 2008, 18:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: mikolajs »

@Hauleth: kod jest w Qt

Tak sobie myślę, że może [a-z] działa tylko na znaki z zakresu ascii
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: Hauleth »

O RLY? Nie wiedziałem... http://is.gd/kaxVQ
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
mikolajs
Wytworny Kaczor
Wytworny Kaczor
Posty: 352
Rejestracja: 15 paź 2008, 18:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: mikolajs »

kod jest w Qt
oczywiście miałem na myśli Qt z C++, a nie Qt Jambi

Co do [a-z] to w dokumentacji jest napisane, że dotyczy angielskiego alfabetu.
fazzi
Sędziwy Jeż
Sędziwy Jeż
Posty: 51
Rejestracja: 07 sty 2007, 14:04
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: [Netbeans][Qt] Klasa QRegExp nie przyjmuje polskich znaków.

Post autor: fazzi »

mikolajs pisze: Co do [a-z] to w dokumentacji jest napisane, że dotyczy angielskiego alfabetu.
Zgadza się. Temat do zamknięcia.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości