Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML][MYSQL] W jakim kodowaniu najlepiej tworzyc cms+stronę?, ISO,czy może UTF ?
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Jestem w trakcie tworzenia takiego dosyć dużego skryptu cms. Zastanawiam sie, w jakim kodowaniu tworzyć te skrypty.

Czytam coraz częściej, że różne firmy sa w trakcie przenoszenia skryptów na UTF-8.
Import XML, czy np AJAX.. wszystkie te "technologie" mają kodowanie UTF-8.

Z czym musze sie liczyc podczas przechodzenia na UTF-8? Trzeba zmienić wszystkie polskie znaki w html'u na odpowiendniki w UTF-8..? (nie tylko ąśź ? )
Operacja ta jest warta zachowu?

Będe wdzięczny za wszelkie wypowiedzi.


--------------- EDIT-----------------
Dodam, że skrypt będzie mial obsługe wersji językowych

Ten post edytował kukix 1.10.2008, 10:03:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


UTF-8 koduje wszystkie znaki, z różnych języków, nie wyobrażam sobie używania innego kodowania na stronach wielojęzycznych.
Co prawda kodowanie znaków specjalnych danego języka jest na 2 bajtach (a np ISO 8859-2 polskie znaki zakoduje na 1bajcie), ale za to ma wszystkie znaki, czyli tak samo polski, czeski, rumuński czy jakikolwiek inny.

Z własnego doświadczenia polecam utf-8. Nie mam problemów ani z bazą, ani stroną, ani z mailingiem. Nieważne czy użytkownicy piszą cyrylicą, czy po pl, czy w jakimkolwiek innym języku.
Go to the top of the page
+Quote Post
kukix
post
Post #3





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(vokiel @ 1.10.2008, 11:38:10 ) *
Z własnego doświadczenia polecam utf-8. Nie mam problemów ani z bazą, ani stroną, ani z mailingiem. Nieważne czy użytkownicy piszą cyrylicą, czy po pl, czy w jakimkolwiek innym języku.

dzieki za wypowiedź.

a jak na cozdzień pracujesz z dokumentami html...?

jak wpisujesz te polskie znaki, znasz kombinacje klawiszy do wszystkich polskich literek, czy masz gdzieś z boku "ściąge z której kopiujesz?"?

Ten post edytował kukix 1.10.2008, 15:30:09
Go to the top of the page
+Quote Post
melkorm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


ustawiasz w edytorze kodowanie na utf'a (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
vokiel
post
Post #5





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


melkorm dokładnie
Uzywam eclipse - kodowanie utf-8, czasem notepad++ do drobnego poprawiania pojedynczych rzeczy utf-8 (bez BOM) i wszystko ładnie działa.

OT: Np aby napisać ś wciskam kombinację alt+s (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
kukix
post
Post #6





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(vokiel @ 2.10.2008, 09:09:18 ) *
OT: Np aby napisać ś wciskam kombinację alt+s (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)


bo do tej pory pracując na kodowaniu ISO, aby uzystać ś musiałem wcisnąc kombinacje klaiwszy Alt + 0182

Czyli podsumowując, co musialbym zrobic, żeby zmienić kodowanie w całym serwisie na UTF ?

1. Otworzyć wszystkie pliki (php, html) i zapisać je ustawiając kodowanie na UTF-8
2. Zmienić wpis w meta tagu strony na UTF-8
3. Podczas łączenia z bazą, zmienić w pliku php:
  1. <?php
  2. mysql_query('SET NAMES latin2');
  3. mysql_query('SET CHARACTER SET latin2');
  4. mysql_query("SET collation_connection = latin_general_ci");
  5. ?>
na wpisy odpowiednie dla kodowania UTF.

Jeżeli chodzi o baze danych, to czy takie operacje są wystarczające?
Czy nie bede musiał wprowadzać jakiś zmian za pomocą phpmyadmin?


--------------- EDIT ------------
Czy zmiania SET NAMES i CHARACTER jest dostepna na wszystkich serwerach z MySQl? Może siezdażyć coś takiego, że opcje te będą zablokowane?

Ten post edytował kukix 2.10.2008, 14:14:21
Go to the top of the page
+Quote Post
Raffuss
post
Post #7





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 26.07.2008

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


Cytat(kukix @ 2.10.2008, 15:10:57 ) *
Czyli podsumowując, co musialbym zrobic, żeby zmienić kodowanie w całym serwisie na UTF ?

1. Otworzyć wszystkie pliki (php, html) i zapisać je ustawiając kodowanie na UTF-8
2. Zmienić wpis w meta tagu strony na UTF-8
3. Podczas łączenia z bazą, zmienić w pliku php:
  1. <?php
  2. mysql_query('SET NAMES latin2');
  3. mysql_query('SET CHARACTER SET latin2');
  4. mysql_query(&#092;"SET collation_connection = latin_general_ci\");
  5. ?>
na wpisy odpowiednie dla kodowania UTF.

Jeżeli chodzi o baze danych, to czy takie operacje są wystarczające?
Czy nie bede musiał wprowadzać jakiś zmian za pomocą phpmyadmin?

Najlepiej odpal sobie te pliki jak już ktoś tutaj wspomniał Notepad++ i przekonwertuj na UTF-8 (bez BOM).. ustawienia do bazy zostaw, powinno wszystko ładnie chodzić..
Ja przynajmniej baze mam na latin2 a kodowanie na stronie w utf-8 i wszystko ze sobą współgra.
Go to the top of the page
+Quote Post
kukix
post
Post #8





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Zmienilem w meta tagu kodowanie na utf-8 po polączeniu z bazą użylem plecenia SET NAMES utf8..

Problem w tym, że jak w cms'ie podglądam jakiś wpis, to pokazują się znaki zapytania.. dopiero jak skasuje ten znak ręcznie i wpisze odpowiednią polską litere, wtedy widać polski znak na stronie.

Czy to oznacza, ze bede musial przerobic calą baze danych w ten sposob?

------------ EDIT --------------
Czy to oznacza, że musze wprowadzić wszystkie dane jesZcze raz do bazy, żeby przejśc na UTF?

Ten post edytował kukix 4.10.2008, 14:21:53
Go to the top of the page
+Quote Post
potreb
post
Post #9





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Jeżeli w bazie masz zapisane dane w latin, to problem polega na tym aby je przekonwertować na utf8. Ja robie w ten sposób, mam zapisany plik backup.php w iso robie backup ale nie do pliku tylko mi wyswietla w przegladarce, nastepnie usuwam tabele i wklejam dane jako utf-8.

Jak dla mnie jest dość dziwna sprawa używania iso, bo tak naprawdę zaniedługo takie kodowanie może zostać zdeprecjonowane.
Go to the top of the page
+Quote Post
kukix
post
Post #10





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


czyli musze zrobić backup danych i następnie wrzucić je spowrotem w phpmyadmin..?

-------------- EDIT ------------------
w notepad ++ znalazlem dwie wersje kodowania UTF ..

utf-8 i
utf-8 (bez BOM)

czym one sie różnią,.. i który wybrac?

w edit plus jest poprostu UTF-8 (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Ten post edytował kukix 4.10.2008, 15:15:11
Go to the top of the page
+Quote Post
potreb
post
Post #11





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Tak, dokładnie, pamiętaj żeby ustawić dobre kodowanie dla bazy i porównywanie napisów.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 10:57