Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.06.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
Witam,
Jak można dokonać konwersji ciągu znaków zawierającego znaki diakrytyczne (ą, ć, ź, ż...) bez użycia tablic, w które wpisane są na sztywno znaki. Zastosowanie do wyszukiwania danych z bazy danych MySQL, kodowanie UFT-8. Czy istnieję zestawienie funkcji operujących na stringach tak aby w rezultacie z textu, np. Łobodziński otrzymać ŁOBODZIŃSKI? Proszę o przykład kodu. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%)
|
Co do drugiego pytania - tak, istnieje.
http://pl2.php.net/manual/pl/function.mb-strtoupper.php http://pl2.php.net/manual/pl/function.strtoupper.php |
|
|
|
Post
#3
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%)
|
a co do pierwszego, to MySQL sam to załatwia, musisz tylko ustawić odpowiednie COLLATE dla bazy/ tabeli /pola, albo dodać klauzulę COLLATE wprost do zapytania SQL, np.:
zwróci 0 (FALSE) - w tym trybie odróżnia znaki narodowe, ale
zwróci 1 (TRUE) - w tym trybie dla bazy a = ą, c=ć, itd... powodzenia. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.06.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
Dziękuję za szybką pomoc i trafną odpowiedź.
Jakub M. Ten post edytował jakubmroz.com 24.06.2008, 12:23:23 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%)
|
Jeśli wszystkie pliki zapiszesz w UTF-8 (windows standardowo zapisuje w windows1250 czy cos), w bazie ustawisz dla bazy kodowanie UTF-8 i colate UTF-8 general ci (general wystarczy, nie musi być polish a ma i znaki narodowe z wiekszosci innych jezyków). Dodatkowo przy wyswietlaniu w dokumencie HTML oczywiscie w meta:
To chyba już trywialne ale wspomniałem, to nie będziesz miał więcej problemów z polskimi znakami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 13:19 |