![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam taką sytuację. Mam komputer, na którym mam zainstalowanego debiana. Na tym komputerze tworzyłem stronę i wszystko było ok. Przeniosłem stronę na serwer i zaistniały problemy z kodowaniem. Pobieram dane z bazy danych mssql w obu przypadkach z tej samej. Na własnym komputerze przy odczytywaniu zmieniam kodowanie na utf, przy zapisie na windows 1250. Przeniesiona na serwer strona nie widzi polskich znaków pobranych z bazy. Na komputerze były to krzaki (taki znak zapytania, ale z tłem itd.) i przy konwersji wszystko było ok. Na serwerze zamiast polskich znaków jest zawsze jeden znak zapytania, a nie krzaki. Sądzę, że problem leży gdzieś po stronie konfiguracji serwera. Może ktoś wie co zrobić żebym widział krzaki. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 22.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź kodowanie rekordów w bazie danych.. W razie czego użyj UTF-8, lub latin2_general_ci.
EDIT: Albo też możesz ustawić kodowanie na całą bazę danych... Ten post edytował enemyofarcha 8.10.2009, 12:41:59 -------------------- Fotografia
Fiona - Cały świat mojego psa |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Zmiana musi nastąpić po stronie konfiguracji serwera www, a nie bazy danych. Baza danych się nie zmieniła, strona też nie. Zmiana dotyczy przeniesienia strony na inny serwer gdzie też jest ta sama wersja linuxa, tylko z najpotrzebniejszymi pakietami i może czegoś brakować, albo być źle skonfigurowane. Więc może ktoś ma pomysł co trzeba doinstalować/skonfigurować żebym zamiast znaku zapytania miał krzaki. Pozdrawiam. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 7 Dołączył: 8.10.2009 Skąd: Lubin Ostrzeżenie: (0%) ![]() ![]() |
Wstaw to zaraz po wybraniu bazy danych. Ustawi do dobrze stronę kodową i polskie znaki będą poprawnie czytane. Możesz to przestawić też na każde inne kodowanie dostępne w MYSQL (np. utf8 czy ascii). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze nie chcę nic zmieniać na bazie bo nie w tym jest problem.
Problem polega, że mam 2 takie same systemy z tym, że na jednym jest poinstalowane więcej pakietów, a drugi jest typowo serwerowym czyli ma minimum pakietów i któregoś brakuje. System to Debian. A baza stoi na windzie i to MSSQL i nie mogę zmian dokonywać na tej bazie. Problem polega na braku jakiegoś pakietu w systemie, albo jego nie odpowiedniej konfiguracji. Myślałem, że zapytam i ktoś mi pomoże od ręki, dlatego zapytałem, bo prędzej czy później znajdę rozwiązanie, ale chodzi o to, że potrzebuję tego rozwiązania na wczoraj. Pozdrawiam. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (10%) ![]() ![]() |
Wszędzie kodowania musisz mieć takie same dotyczy to także colleteów tabel baz danych
-------------------- [zmoderowane by nospor]
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 7 Dołączył: 8.10.2009 Skąd: Lubin Ostrzeżenie: (0%) ![]() ![]() |
A próbowałeś to, co Ci napisałem?
To niczego w bazie nie zmieni, źle się wyraziłem. To odpowiednio ustawi połączenie. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Hey.
Nie chcę w ten sposób rozwiązać tego problemu, tylko chcę dojść gdzie leży jego przyczyna w konfiguracji. Pozdrawiam. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 7 Dołączył: 8.10.2009 Skąd: Lubin Ostrzeżenie: (0%) ![]() ![]() |
W takim razie - kodowanie bazy danych jest nie takie (powinien być dla polskiego któryś "podgatunek" latin2
![]() ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chyba źle się zrozumieliśmy. Mam dwa takie same systemy na dwóch różnych komputerach. Na jednym strona działa, połączenie z bazą danych jest prawidłowe, wszystko wyświetla się tak jak powinno. Na drugim z kolei czegoś brakuje i po pobraniu danych z bazy, nie rozpoznaje znaków prawidłowo. Więc kodowanie bazy jest prawidłowe skoro na jednym działa, więc da się zrobić to samo na drugim. Z tym, że na drugim jest minimalna ilość zainstalowanych pakietów i w tym może być problem. Systemy to debian. Pozdrawiam. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@Dumdas - kolega, który założył temat ma bazę danych mssql, a nie mysql - czytaj uważnie
![]() -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
http://forum.php.pl/index.php?s=&showt...st&p=514237
@edit używajcie dalej mssql to nie będziecie mieć problemów... Ten post edytował cojack 13.10.2009, 22:42:49 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cojack tego już próbowałem i to jest fajne bo ustawia w jakim kodowaniu mają przyjść dane z bazy, i wszystko byłoby fajnie gdyby nie fakt, że część z nich w bazie siedzi w kodowaniu utf8 (prosiłbym tego nie komentować, bo nie mam na to wpływu). Teraz jak użyję tego mssql.charset="cp1250" to te dane, które są zapisane w bazie w kodowaniu utf8 (czyli w bazie są krzaki tych danych) po pobraniu odczytywane są tak jak zostały zapisane w bazie czyli z krzakami. Ja potrzebuję, żeby php odczytało te znaki z bazy dosłownie tak jak zostały zapisane. Czyli jeżeli w bazie mam 'SĹ‚owik' to po pobraniu z bazy tak ma to php przekazać do przeglądarki, która odczyta to jako 'Słowik', a jeżeli w bazie mam 'Słowik' (czyli po pobraniu z bazy będę miał 'S??owik') to tak chcę to mieć, żeby później to przekonwertować przy pomocy funkcji konwertującej na Słowik i dopiero przekazać przeglądarce.
Poza tym mssql.charset nie jest ustawione na serwerze, na którym robiłem stronkę, więc nie chodzi tu o to. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.05.2025 - 04:21 |