Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Dane z excela do mysql
wicy
post 2.08.2010, 17:13:15
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Mam po raz drugi ten sam problem, z którym nie potrafię sobie poradzić - wysłaniem danych w excelu na serwer.
Mam bazę danych MySQL i phpmyadmin pozwala mi ręcznie importować dane do bazy z formatu CSV lub SQL.
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)

Niestety, hosting (kei) namieszął coś z oprogramowaniem i to co do tej pory działało nagle działać przestało. Nie da się w ogóle "wgrać" csv.
Próbowałem korzystać z różnych klientów mysql (MYSQL Front, EMS SQL Manager), ale żaden poprawnie nie importuje danych na serwer - chodzi o kodowanie. Próbowałem importów z csv, excel2003, excel2007 i za każdym razem zamiast polskich znaków mam różne krzaki, choć wszędzie gdzie tylko są takie opcje (baza, html, opcje importu) ustawiane mam utf-8.
Jak sobie z tym poradzić? Czy ktoś opanował wysyłanie danych excela - jeśli tak to czym i jak?
Go to the top of the page
+Quote Post
o2w5n778
post 2.08.2010, 17:57:27
Post #2





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 10.12.2009

Ostrzeżenie: (0%)
-----


Jakiś miesiąc temu występowałem na forum z podobnym problemem - chodziło o wywołanie eksportu z poziomu excela i załadowanie do SQL Standard - poszukaj bo KarolinaVB dała mi fajne rozwiązania. Ja zastosowałem typy danych po stronie SQL money( dla tych które przechowują warość) i varchar(n) - dla pozostałych. Po stronie excela sformatowałem komórki jako ogólny . I działa .Jeżeli chcesz wywoływać eksport z poziomu excela to potrzebna jest do tego biblioteka ActiveX Data Objects ( w VBA uruchamiasz w Tools - References). Jeżeli nie potrzebujesz robić tego z poziomu excela to będzie łatwiej - ja robiłem za pomocą serwera połączonego - masz link: http://support.microsoft.com/kb/321686/pl
a tu jak skonfigurować plik excela jako serwer połączony w programie SQL Server Management Studio (SQL Server 2005) :http://support.microsoft.com/kb/306397/PL/


--------------------
Go to the top of the page
+Quote Post
wicy
post 2.08.2010, 18:12:12
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Chryste smile.gif Dzięki, ale samą podowiedź muszę przeczytać 3 razy żeby się połapać a co dopiero odpalić i skonfigurować SQL Server sad.gif
Chodzi mi o najprostszy sposób "przerzucenia" danych zapisanych w excelu do bazy mysql na serwerze z zachowaniem kodowania polskich znaków. Nawet nie z poziomu excela.

Zauważyłem też jedną dziwną rzecz. Mimo iż wszystko gdzie się da i potrzeba poustawiane mam na UTF-8, w panelu phpmyadmin, w podglądzie danych również widzę krzaczki, choć dane na stronie www (w utf8) wyświetlane są poprawnie. Natomiast dane ostatnio importowane w panelu phpmyadmin wyświetlają się poprawnie, a na stronie nie. Zgłupiałem sad.gif
Go to the top of the page
+Quote Post
Fifi209
post 2.08.2010, 18:23:48
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


W phpmyadmin również trzeba ustawić domyślne kodowanie, ustaw też domyślne kodowanie dla bazy i tabel.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
wicy
post 2.08.2010, 19:26:40
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Mam to poustawiane:
1) w phpmyadmin
- ustawienia mysql - Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
- System porównań dla połączenia MySQL: utf8_general_ci
2) w bazie danych
- metoda porównywania napisów: utf8_general_ci
3) strona www
- ustawienie kodowania: - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Pola tabeli to głównie varchar(255) i smalint, float.

Nijak jednak nie mogę poprawnie wgrać csv by polskie znaki były wyświetlane na stronie sad.gif
Jak jeszcze sobie z tym poradzić? Proszę nie sugerować skryptów konwertujących bo sobie z tym nie poradzę sad.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 00:00