Mam taki maly problem.
Posiadam pewna ilosc danych (bardzo duza) w bazie mysql lecz teksty sa zapisane w jakiejs dziwnej stronie kodowej i zamiast "ogonkow" mam krzaki. Jak zmienic kodowanie znakow w tabelach mysql np. na Latin2 czy cos w tym stylu ?
Dołączam się do pytania.
Wszystkie dane w postaci poleceń INSERT mam pisane pod Windows i np. w notatniku są polskie litery. Podczas tworzenia bazy mam do wyboru pewną ilość stron kodowych, jednak jedyne z polskimi literami jakie znam, to Latin2 852 (ta spod DOSa), UTF-8 i UTF-16.
No ale nieważne, jaką bym wybrał (poza UTF) to po insertach i po wykonaniu SELECT mam polskie litery poprawnie wyświetlane tylko w programie od bazy danych (Sybase).
Gdy wyświetle dane na stronie www, to już mam krzaki. Natomiast jeśli ze strony www dodam pewne dane z polskimi znakami diakrytycznymi, to będą one miały krzaki pod Sybase.
Tak więc jedyne rozwiązanie, jakie przychodzi mi na myśl, to zamiana wszystkich znaków np. na UTF-8, ale to jest ogromny problem, jeśli nie możemy stworzyć bazy od nowa (tak jak SirMike). Więc co wtedy?
Czekamy na wskazówki :).
[<font color="blue">dopisane</span>]
No dobra - przyznaję, że wcześniej nie szukałem po google, ale teraz się zabrałem i po chwili znalazłem rozwiązanie :)
W moim przypadku należy stronę, która wyświetla dane kodować w 852. Czyli w skecji <head> wstawić taką linię:
[code]<meta http-equiv="Content-Type" content="text/html; charset=cp852">[/code]
Wszystkie aliasy do stron kodowych można znaleźć tu:
http://search.mnogo.ru/doc/msearch-international.html
Ale czy to jedyne rozwiazanie ?
Jasne, że nie :).
Możesz każde poprane pole przeszukiwać i zamieniać kody znaków na takie, jakie chcesz mieć. Zapewne stronę robisz w PHP lub ASP. W każdym z tych przypadków masz do dyspozycji funkcje, które Ci na to pozwolą. Taką zamianę można zrealizować na -naście różnych sposobów. Jeśli nie wiesz jak, to przeszukaj forum/google pod kątem zamiany znaków w stringach.
Ze tez ja na to nie wpadlem :D
To takie proste ze az smieszne :) Juz mi glowa spuchla od tej bazy wiec dlatego to zacmienie.
W kazdym razie dzieki.