![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zacznę od końca.
Mam bazę danych MySQL i phpmyadmin pozwala mi ręcznie importować dane do bazy z formatu CSV lub SQL. Nie znam się na tyle by próbować tworzyć skrypty ładujące dane do bazy dlatego chcę pozostać przy imporcie ręcznym. Dane gromadzę i przetwarzam w excelu finalnie importując dane do bazy poprzez CSV. I wszystko grało gdy: - strona prezentująca dane była w kodowaniu windows-1250 - import do bazy MySQL odbywał się z opcją kodowania latin2 Pojawiła się konieczność zastosowania na stronie wersji językowych i musiałem stronę kodową zmienić na utf8. Zmieniłem procedurę importu poprzez CSV o tyle, że w gotowym CSV za pomocą notatnika zmieniam kodowanie na utf8 i tak przygotowany CSV importuję do MySQL z ustawionym w phpmyadmin paramertem "kodowanie pliku" na latin2. Procedura działa dla polskich znaków, jednak oprócz nich w bazie excela pojawiły się łańcuchy tekstowe pisane cyrylicą. O ile sama strona wyświetla się OK, o tyle z przerzuceniem danych do MySQL i ich prezentacją zaczęły się schody: 1) excel eksportuje tabelę do CSV z zastosowaniem kodowania windows-1250 (chyba) 2) cyrylica w CSV jest ciągiem znaków zapytania Jak poradzić sobie z wypełnieniem bazy MySQL danymi excel->CSL->SQL mając mieszane znaki polskie i rosyjskie? Może są jakieś narzędzia do konwersji plików XLS na CSV(utf8)? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 3 Dołączył: 15.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
kiedyś miałem podobny problem lecz bza danych była inna konkurencyjna. W twoim przypadku jest sprawa prościejsza, jeśli w Exelu masz to co chcesz zaimportować i wyświetla Ci tam wszystko ok, to wejź to zaimportuj do bazy danych, strone kodową plików html czy php zmień na utf-8 a dane które zaimportujesz z exela można im po imporcie zmienić kodowanie z win-1250 (bo tak owe ma excell) na utf-8 jednym poleceniem. A poleceni możesz znaleśc w necie lub jak ktoś będzie łaskawy to je napisze ponieważ ja osobiscie nie używam MySQLa, ale wiedz że tak się da.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poradziłem sobie chyba z problemem. Po stronie PC robię:
1) export excel -> unicode txt (cyrylica zostaje zachowana) 2) otwieram notatnikiem i zmieniam kodowanie na utf8 3) otwieram znów excelem poleceniem "otwórz za pomocą" (cyrylica w formie krzaczorów ale to bez znaczenia) 4) robię eksport do CSV (znów poprawnie pokazuje się cyrylica) Po stronie phpmyadmin robię import CSV z ustawionym parametrem latin2 (nie wiem dlaczego akurat taki, ale tylko taki działa poprawnie) Jeśli zna ktoś aplikację automatyzującą w/w operacje, chętnie się z nią zapoznam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:50 |