Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> znak nie chce się zasąpić
Lemik
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.08.2005

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


dziwna kwestia, po przeniesieniu bazy widnieją wszędzie zamiast polskich liter znaki zapytania.

Na przykład wyraz przeżycie

na początku prezentował się "??Ă??", chciałem zastąpić całą sekwencję choć na jeden znak, ale nie dało rady, pozbyłem się jedynie pierwszych znaków zapytania z całej bazy.

teraz wyraz "przeżycie" wygląda tak: "prze??ycie"

i gdy dam
UPDATE tabela SET komórka = REPLACE( komórka, 'prze??ycie', 'przezycie' )

to nic mi nie zmieni, komunikat że zamiast pierwszego znaku zapytania jest sekwencja " & # 6 5 5 3 3 ; " (bez spacji)

czyli pokazuje " p r z e & # 6 5 5 3 3 ; ? y c i e " (bez spacji)

a gdy edytuję tabelę ręcznie, to w komórce jet wyraźnie, że jest to wyraz "prze??ycie"

Więc czemu mi nie chce zmieniać i wywala mi takie coś?
Może ktoś mi pomoże?
Go to the top of the page
+Quote Post
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


mi sie wydaje ze kodowanie bazy/tabeli masz inne niz tej poprzedniej.
zmien na to samo kodowanie.


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
Lemik
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.08.2005

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


tylko jak, jak w PHPMyAdmin na nowym serwerze nie mam kolumny "SYSTEM PORÓWNAŃ" i nie mam jak zmienić tego kodowania dla tabeli sad.gif
Go to the top of the page
+Quote Post
Zbłąkany
post
Post #4


Administrator serwera


Grupa: Developerzy
Postów: 521
Pomógł: 13
Dołączył: 2.04.2004
Skąd: 52°24' N 16°56' E

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


Ale jest iconv i inne rozszerzenia do kodowan tongue.gif


--------------------
Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox
Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..."
Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL"
Go to the top of the page
+Quote Post
Lemik
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.08.2005

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


cokolwiek to miałoby znaczyć, jakbym miał to zrobić? Jakiś skrypt mam wrzucić na hosting i odpalić?
bo inaczej nie mogę, tylko mogę wykonać coś co jest w zakresie hostingu. Zgranie bazy i przekonwertowanie na dysku nie wchodzi w gre.
Go to the top of the page
+Quote Post
Adiasz
post
Post #6





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

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


Po pierwsze sprawdz i napisz w jakim kodowaniu masz baze lokalnie, na hostingu i co masz wpisane w meta, znaczek Ă pojawia sie gdy stringa zakodowanego w UTF prubujesz wyswietlic w ISO
Go to the top of the page
+Quote Post
Lemik
post
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.08.2005

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


na pierwotnym hostingu "System porównywania znaków" był ustaiony na "latin1", potem po zmianie hostingu (admin hostingu mi to wgrywał) zauważyłem że tabela ustaiona jest na "latin2", i właśnie miałem problemy z zamienianiem takowych znaków. Musiałem zmienić na "latin1" by wyświetlały się prawidłow znaki na stronie, no i było chyba git. Niestety admini przenieśli na inny serwer całą bazę gdzie nie ma systemu porównywania znaków w phpmyadmin i huk go wie jakie jest teraz kodowanie. Gdy zgram bazę to nie jest wyszczególnione tak jak kiedyś jaki jest system kdowania znaków, po prostu nie ma tych danych takowych:

więc
kiedyś było tak:
  1. [SQL]CREATE TABLE nazwa_tabeli (
  2. ...
  3. ...
  4. PRIMARY KEY (`id`),
  5. KEY `search_date` (`search_date`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=94169 ;
[/SQL]

teraz jest tak:
  1. CREATE TABLE nazwa_tabeli (
  2. ...
  3. ...
  4. PRIMARY KEY (`id`),
  5. KEY `search_date` (`search_date`)
  6. ) ENGINE=MyISAM AUTO_INCREMENT=94169 ;


a w znacznikach meta przy wyświetlaniu wydaje mi się że jest ISO-2, choć nigdzie nie mogę takowych wpisów znaleźć, bo jest to badzo złożona baza,

...ale jednak znalazłem coś takiego:

  1. <?php
  2. if( strtolower($this->ipclas->vars['gb_char_set']) != 'iso-8859-2' &&
  3. strtolower($this->ipclas->vars['gb_char_set']) != 'utf-8' )
  4. ?>


ta pierwsza linijka na początku była jako "iso-8859-1" ale nie wyświetlało polskich znaków zaraz po napisaniu, więc zmieniłem na "iso-8859-2" smile.gif

Ten post edytował Lemik 5.01.2006, 03:03:30
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 Aktualny czas: 19.08.2025 - 20:06