Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Kodowanie dziwna sprawa
tofik1778983
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 1
Dołączył: 22.11.2007
Skąd: lbn

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


Witam..
Pisałem o tym kiedyś na innym forum ale nikt nawet nie odpowiedział więc może wy coś powiecie na temat.

Miałem kiedyś problem z przeniesieniem bazy danych na inny serwer.. (gra via www mmo)
Bądź co bądź pomogło jedynie edytowanie pliku bazy danych i ręcznie w notepad++ zmieniałem wszystkie krzaki w bazie na polskie litery.. (pół nocy poszło)
Teraz tak ja u siebie nie mam ani jednego krzaka nigdzie!! Moja dziewczyna u siebie też, wchodziłem przez kilka bramek proxy nie ma krzaków, przez tora nie ma. Sprawdzałem w ff, operze, netscape, ie, chrome, nigdzie nie mam krzaków..(sprawdzałem tak tez u dziewczyny) teraz niektórzy gracze (50/50) skarżą się że nie ma polskich liter tylko 'krzaczki' albo zaraz po polskiej literce jest '?' albo iny krzaczek. Widziałem to jedynie na zrzucie ekranu.
Czemu jedni maja krzaki zamiast polskich liter a inni nie (IMG:style_emoticons/default/questionmark.gif)
Jak dostane zrzuty ekranu od graczy mogę potem wrzucić dla potwierdzenia.
Np jeden z graczy ma tak:

link do zrzutu

Ten post edytował tofik1778983 9.12.2010, 05:14:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
amii
post
Post #2





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Też mam ten problem kodowanie mam ustawione w bazie na utf-8 w pliku na utf8. U mnie na serwerze działa wszystko OK a kiedy przeniosę gdzie indziej i zedytuje w notepad++ i wgram na nowy serwer strona krzaczy się tak ja u Ciebie.
Być może jest to wina edytora, będę to sprawdzał i jakby co dam znać.

No i problem rozwiązany (IMG:style_emoticons/default/smile.gif) przynajmniej u minie. Oto co zrobiłem:
1. W notepad++ zaznaczasz wszystko, następnie plik->kodowanie->utf8, zapisujesz i tak dla wszystkich plików
2. W połączeniu z bazą ustawiasz (tu podaje przykład dla kodowania utf8):
  1. function connect_to_db() {
  2. $db = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS)
  3. or die ('Nie moge sie polaczyc z baza danych: ' . mysql_error());
  4.  
  5. mysql_select_db(SQL_DB)
  6. or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  7.  
  8. mysql_query("SET NAMES 'utf8'");
  9.  
  10. mysql_query('SET character_set_connection=utf8');
  11. mysql_query('SET character_set_client=utf8');
  12. mysql_query('SET character_set_results=utf8');
  13. }

3. W pliku ustawiasz:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
4. Ja musiałem jeszcze zmienić strukturę dla wyrażenia preg_replace
z
  1. $wyr = "/([^(\p{L}0-9'-=\"\')])". $tabliczka[$g] ."([^(\p{L}0-9'-=\'\")])/i";

na
  1. $wyr = "/([^(A-Za-ząęśńćżżłóĄĘŚŃĆŹŻŁÓ0-9'-=\"\')])". $tabliczka[$g] ."([^(A-Za-ząęśńćżżłóĄĘŚŃĆŹŻŁÓ0-9'-=\'\")])/i";


Ten post edytował amii 9.12.2010, 10:44:10
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 11:48