Uwaga! Od sierpnia 2017 forum jest w trybie tylko do odczytu.

Dlaczego? Dlatego, że społeczność TYPO3 przeniosła się na slack'a i stackoverflow:
  • Przeczytaj artykuł wprowadzający do slacka, w którym dowiesz gdzie i jak się zarejestrować.
  • Jeżeli masz pytania odnośnie Polskiej Społeczności TYPO3 zapraszamy na kanał slack'a #community-pl. Rozmawiamy tam w języku polskim.
  • Pytania dotyczące samego TYPO3 zadawaj po angielsku na stackoverflow oznaczając je tagiem "typo3". Następnie posługując się linkiem do tego pytania postaraj się zachęcić ludzi z kanału slack'a #typo3-cms lub bardziej pasujących kanałów tematycznych, żeby na nie odpowiedzieli.
  • Możesz też oczywiście zadawać pytania na slacku bez zakładania wątków na stackoverflow, ale wówczas wiedza ta nie jest indeksowana przez googla i część osób nie będzie chciała Ci z tego powodu pomagać.
  • Dla części osób dzielących się wiedzą ważne jest też budowanie reputacji na stackoverflow. Jest to kolejny powód dla którego powinieneś zadawać pytania na stackoverflow by zwiększyć swoje szanse na znalezienie odpowiedzi. Pamiętaj, żeby oceniać odpowiedzi!
Tematy bez nowych odpowiedzi

static_info_tables - polskie województwa, MySQL


Autor Wiadomość
Napisane: 07.04.2008 [01:34]
biesior
admin
Twórca tematu
zarejestrowany: 20.03.2008
Posty: 1709
Hejka, tak mnie naszło na spolszczanie dzisiaj, to zamieszczam zapytanie MySQL dodające polskie województwa do static_info_tables

Dzięki temu jeśli np. w formularzu rejestracyjnym wybierzesz Polskę jako kraj pochodzenia, dostaniesz od razu listę województw do wyboru!

Niestety nie uporałem się z kodowaniem, więc po wczytaniu sql'a potrzebne będzie jeszcze kilka dodatkowych kliknięć!!! (patrz komentarz w sql'u)

SQL
-- phpMyAdmin SQL Dump
-- version 2.11.2-rc1
-- http://www.phpmyadmin.net
--
-- Zrzut danych tabeli `static_country_zones`
--
-- Oczywiście zakładam, że masz zainstalowane rozszerzenie
-- static_info_tables !
--
-- WAŻNE! mam problem z kodowaniem znaków w zapytaniu, dlatego 
-- po zaimportowaniu tego do bazy MySQL przejdź do BE TYPO3
-- kliknij w ROOTa serwisu (ikonka z globem, widok lista)
-- i na liście Country subdivisions popraw wszystkie wpisy
-- zaczynające się od aaa. - to znaczy usuń ten przedrostek
-- i dodaj polskie litery do nazw województw
--
-- Nie zmieniaj żadnych wartości! PL, POL, 616 to kody ISO
-- rozpoznawane przez TYPO3 jako Polska
-- 02-32 to oficjalne kody terytorialne województw
-- (patrz: http://pl.wikipedia.org/wiki/Województwo)
--
-- Oczywiście pamiętasz, że nazwy województw, jako, że są 
-- przymiotnikami wypisujemy małymi literami !
-- 
-- jeśli twoje TYPO3 pracuje na iso-8859-2 możesz od razu w zapytaniu
-- usunąć przedrostki i powstawiać polskie znaki 
 
 
INSERT INTO `static_country_zones` ( `pid`, `zn_country_iso_2`, `zn_country_iso_3`, `zn_country_iso_nr`, `zn_code`, `zn_name_local`, `zn_name_en`) VALUES
( 0, 'PL', 'POL', 616, '02', 'aaa.dolnoslaskie', ''),
( 0, 'PL', 'POL', 616, '04', 'kujawsko-pomorskie', ''),
( 0, 'PL', 'POL', 616, '06', 'lubelskie', ''),
( 0, 'PL', 'POL', 616, '08', 'lubuskie', ''),
( 0, 'PL', 'POL', 616, '10', 'aaa.lodzkie', ''),
( 0, 'PL', 'POL', 616, '12', 'aaa.malopolskie', ''),
( 0, 'PL', 'POL', 616, '14', 'mazowieckie', ''),
( 0, 'PL', 'POL', 616, '16', 'opolskie', ''),
( 0, 'PL', 'POL', 616, '18', 'podkarpackie', ''),
( 0, 'PL', 'POL', 616, '20', 'podlaskie', ''),
( 0, 'PL', 'POL', 616, '22', 'pomorskie', ''),
( 0, 'PL', 'POL', 616, '24', 'aaa.slaskie', ''),
( 0, 'PL', 'POL', 616, '26', 'aaa.swietokrzyskie', ''),
( 0, 'PL', 'POL', 616, '28', 'aaa.warminsko-mazurskie', ''),
( 0, 'PL', 'POL', 616, '30', 'wielkopolskie', ''),
( 0, 'PL', 'POL', 616, '32', 'zachodniopomorskie', '');


TYPO3 Certified Integrator | TYPO3 Społeczność Polska

prv: ['] waiting for the miracle, for the miracle to come
Napisane: 07.04.2008 [10:28]
kasztan
admin
zarejestrowany: 14.08.2006
Posty: 490
Witam,

dziękujemy!

Przeniosę do odpowiedniego działu.


Kasztan

Certified Level 2 "TYPO3 Night Crew" Member
Certified "TYPO3 TRYDIVER"
Napisane: 07.04.2008 [10:59]
biesior
admin
Twórca tematu
zarejestrowany: 20.03.2008
Posty: 1709
No proszę icon_wink.gif dział polonizacyjny, tak przy okazji kasztan możesz mi podpowiedzieć jakie powinno wyglądać zapytanie insert z wymuszoną zmianą kodowania ?

W ogóle niech ktoś mi to wyjaśni, bo ja nie bardzo się na tym znam (zawsze się kręciłem na kodowaniach)

pola w MySQL mam zakodowane w latin2 - wynika to zapewne z ustawień domyślnych serwera DB - jako, że większość innych rzeczy, pracuje właśnie w latin2

TYPO3 mam ustawione na wymuszone utf8 [forceCharset]=utf-8 i wszystko działo jak należy, BE działa mi w UTFie, FE też w UTF'ie nie ma żadnych problemów przy wklejaniu tekstów z ISO. Ogólnie jest jak ma być... ale...

Już wejście do bazy danych na piechotę via phpMyAdmin (co czasem się przydaje) - polskie znaki są wykrzaczone, pomimo, że pMA wyświetla wyniki w kodowaniu UTF (używa COLLATE .. latin2 domyślnie).

Zrobiłem sobie przykładowego dumpa do pliku... otwieram w Pajączku - krzaki, z wymuszonym kodowaniem UTF - krzaki... otwieram z wymuszonym kodowaniem ISO krzaki, krzaki i jeszcze raz krzaki! o co c'mon?

Jak mam na przyszłość kodować znaki pliku dumpa, żeby się nie krzaczyły?
no i czemu pMA krzaczy? skoro wyświetla stronę w UTFie?

Zresztą sami zobaczcie, jak takie coś wsadzę do swojej bazy, to pMA wyświetli z takimi krzakami...

Ale TYPO3 wyświetli poprawnie! Jak to działa?
SQL
INSERT INTO `static_country_zones` ( `pid`, `zn_country_iso_2`, `zn_country_iso_3`, `zn_country_iso_nr`, `zn_code`, `zn_name_local`, `zn_name_en`) VALUES
(0, 'PL', 'POL', 616, '02', 'a2 dolnośląskie', ''),
(0, 'PL', 'POL', 616, '10', 'a2 łódzkie', ''),
(0, 'PL', 'POL', 616, '24', 'a2 śląskie', ''),
(0, 'PL', 'POL', 616, '28', 'a2 warmińsko-mazurskie', '');


TYPO3 Certified Integrator | TYPO3 Społeczność Polska

prv: ['] waiting for the miracle, for the miracle to come
Napisane: 07.04.2008 [11:53]
kss
zarejestrowany: 19.07.2007
Posty: 1341
Z kodowaniem jest rzeczywiście troszkę namieszane.

Ogólnie, z mojego doświadczenia wynika, że polskie literki w bazie to zapis utf-a, ale korzystający ze znaków LATIN2. Dlatego MyAdm nie wyświetla tego poprawnie. TYPO3 potrafi to jednak odpowiednio przetworzyć i wewnętrznie operuje już na utf-8. (To chyba jakieś pozostałości z czasów, kiedy mySQL nie obsługiwał utf-8.)

Jeżeli bazę masz w LATIN2 to w ten sposób musisz ją eksportować i importować (i również wymuszać połączenie, jeżeli domyślne jest inne).

Ja np. po w windowsach na xammpie w instalacjach TYPO3 w localconf.php wymuszam:
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES latin2;';
I wówczas importy z serwerów produkcyjnych, gdzie domyślnie połączenie jest latin2, działają na xammpie bez problemu.

Nie oznacza to, że bazy w TYPO3 nie mogą być kodowane w prawdziwym utf-8. Podobno utf-8 będzie domyślnie w instalatorze wersji 4.2, ale jeszcze nie testowałem.

Ja do tej pory zawsze korzystałem z domyślnego LATIN2. Jedyny minus takiego rozwiązania to błędy w sortowaniu mySQL, gdy sortowane są polskie litery.


=======================================
t33k