Post
#1
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Przeinstalowałem serwer i się zaczęło. Mam kilka problemów, z którymi nie mogę sobie poradzić, więc proszę o radę.
mam tak:
połączenie z bazą: baza: utf8_general_ci tabela: utf8_polish_ci pole: tresc longtext utf8_polish_ci I puszcza mi tylko jak myślę, 256 znaków. Pewnie coś w konfiguracji MySQL? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
nie: mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`");
a: mysql_query("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'"); Odróżniaj tekst od nazw kolumn/tabel Cytat I puszcza mi tylko jak myślę, 256 znaków Czyli co mianowicie? Opisz problem dokładniej, pokaz kod. Ksyhoo raportowałeś wcale nie gorsze tematy od tych, co ostatnio sam zadajesz.
|
|
|
|
Post
#3
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Już sobie poradziłem z tą ilością a ciapki miałem dobrze - nie wiem, czemu tak mi skopiowało.
Ale problem mam teraz nieco inny. Mianowicie, pobieram:
i mam: Cytat string(4) "ĆMA" a to przecież 3 znaki. Jak dam:
to daje: Cytat string(3) "?MA" A w bazie mam ĆMA... Ten post edytował Kshyhoo 20.02.2012, 13:14:19 |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
Nie, ĆMA to w utf-8 4 znaki. Ć to dwa znaki.
wróć, nie znaki a bajty. (IMG:style_emoticons/default/smile.gif) utf8_decode - po co to używasz, skoro dane masz poprawne? przecież to bez sensu |
|
|
|
Post
#5
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
To jak mam to pobrać, żebym miał 3 znaki?
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
Ale o co ci chodzi? Co ty chcesz z tym zrobić?
Polskie krzaki w utf-8 zajmują dwa bajty - proste. W czym ci to przeszkadza? O co ci chodzi? Jak chcesz pobrać liczbę znaków uwzględniając polskie krzaki, to masz użyć: http://www.php.net/manual/en/function.mb-strlen.php |
|
|
|
Post
#7
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Chcę zrobić tak:
1. pobieram słowo (ĆMA). 2. zamieniam słowo na podkreślniki (___). 3. dodaje między nimi spacje (_ _ _) 4. wyświetlam... |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
No to biblioteka MB. Link dostałeś w poprzednim poście
|
|
|
|
Post
#9
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
|
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
Przecież mb_strlen() zwraca liczbę, która określa liczbę znaków.....
|
|
|
|
Post
#11
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
No tak, a ja potrzebuję stringa, szukam dalej.
|
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
Ksyhoo obudź się człowieku wkońcu.....
Chcesz dla słowa 3 znakowego zrobić ___ no to mając liczbę znaków bez problemu możesz wygenerować ___ O pętli FOR nie słyszał? A jak chcesz mieć słowo ĆMA, ktore składa się dokładnie z 3 bajtów, to zmień kodowanie z UTF-8 na ISO-8859-2. Metoda ICONV() |
|
|
|
Post
#13
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
To robię, na dodatek podmieniam na grafiki. Wszystko mi działa, dopóki nie pojawi się polski znak.
|
|
|
|
Post
#14
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
To pokaż kod. Tylko proszę, niech ten kod zawiera już mb_strlen lub iconv, skoro piszesz, że tak właśnie robisz jak ci napisałem
|
|
|
|
Post
#15
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Pobieram słowo z bazy danych:
|
|
|
|
Post
#16
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
No i gdzie tu zamieniasz słowo na ___ ? No napisałeś że z tym masz problem, gdy masz polski znak. I napisałeś, ze pomimo używania mb_strlen lub iconv nadal masz problem. No i ja się pytam o ten właśnie kod.
|
|
|
|
Post
#17
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Cały skrypt mi działa, jedynie funkcje php nie przetwarzają poprawnie polskich znaków - to problem. Już funkcja:
zwraca dla słowa ŻÓŁĆ: Cytat array(2) { [0]=> string(2) "100" [1]=> string(8) "????" } Array
Ten post edytował Kshyhoo 20.02.2012, 15:06:47 |
|
|
|
Post
#18
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
Dobra. Ja już nie mam sił....
ps: nie sądziłem, że kiedykolwiek napiszę tak do Ciebie (IMG:style_emoticons/default/sad.gif) |
|
|
|
Post
#19
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Tak wyświetlam wybrane litery
tak alfabet:
Ten post edytował Kshyhoo 20.02.2012, 15:48:20 |
|
|
|
![]() ![]() |
|
Aktualny czas: 29.06.2026 - 04:11 |