Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Brak polskich znaków na stronie, Proszę o pomoc w naprawie
papisp
post 22.07.2011, 11:52:58
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2011

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


Jestem pierwszy raz na tej stronie i po raz pierwszy mam do czynienia z PHP.
Osoba co robiła stronę wyjechała i nie ma z nią kontaktu.
Problem jest w tym, że strona była przenoszona też nie przeze mnie.
Na stronie tej brakuje polskich znaków. W HTML-u dałbym radę.
Co zrobić aby to naprawić.
Mam dostęp do strony i hasła. Bardzo proszę o pomoc poniżej link do strony.
http://stronyweb.com.pl/smp/news.php
Go to the top of the page
+Quote Post
hyhyhy
post 22.07.2011, 12:12:02
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 5
Dołączył: 6.02.2011

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


Newsy są wyciągane z bazy danych, prawda? Zakładam, że baza ma kodowanie UTF-8, a Ty masz

  1. <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>


Zmień na utf-8, powinno pomóc.

//EDIT: teraz widzę, że nie tylko newsy wywalają polskie znaki, w każdym razie i tak sprawdź to kodowanie smile.gif

Ten post edytował hyhyhy 22.07.2011, 12:13:52
Go to the top of the page
+Quote Post
kudlatypawelek
post 22.07.2011, 12:25:15
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 5
Dołączył: 30.06.2011

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


Może należy ustawić SET NAMES na określone kodowanie przy połączeniu z bazą?
Go to the top of the page
+Quote Post
papisp
post 22.07.2011, 12:45:04
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2011

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


Jak napisałem pierwszy raz mam do czynienia z PHP wiem że trzeba zmienić kodowanie tylko jak?
Mam pliki ściągnięte na komputer, mam zainstalowany WEBSERV edytor KED ale nie mogę i tak strony uruchomić lokalnie, mam dostęp do plików przez FileZilla
Który plik mam edytować?
Go to the top of the page
+Quote Post
hyhyhy
post 22.07.2011, 12:49:03
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 5
Dołączył: 6.02.2011

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


Na początek otwórz sobie czymkolwiek index.php i zmień to co Ci napisałem w poście wyżej na zamiast "iso-8859-2" wpisz "utf-8". Jeżeli nie pomoże, to spróbuj tak jak kolega wyżej radzi SET NAMES w bazie danych... ew. może samo kodowanie pliku jest inne niż utf-8 - na razie spróbuj pierwszego sposobu, bo jest najprostszy, a nuż zadziała.
Go to the top of the page
+Quote Post
emajl22
post 22.07.2011, 12:52:22
Post #6





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

Ostrzeżenie: (10%)
X----


Otwórz plik index.php i w edytorze KED naciśnij F4 i zmień tam kodowanie na UTF-8 BEZ BOM. Tylko przed ustawieniem skopiuj całą zawartość pliku, a po zmianie wklej ponownie i zapisz. Jak to nie pomoże to zaraz po połączeniu z bazą danych daj SET NAMES. Więcej na ten temat poszukaj w google. A i zmień kodowanie tak jak kolega wyżej napisał.

Ten post edytował emajl22 22.07.2011, 12:53:40


--------------------
Go to the top of the page
+Quote Post
papisp
post 22.07.2011, 14:28:08
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2011

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


Cytat(emajl22 @ 22.07.2011, 13:52:22 ) *
Otwórz plik index.php i w edytorze KED naciśnij F4 i zmień tam kodowanie na UTF-8 BEZ BOM. Tylko przed ustawieniem skopiuj całą zawartość pliku, a po zmianie wklej ponownie i zapisz.


To zrobiłem
Cytat(emajl22 @ 22.07.2011, 13:52:22 ) *
Jak to nie pomoże to zaraz po połączeniu z bazą danych daj SET NAMES. Więcej na ten temat poszukaj w google. A i zmień kodowanie tak jak kolega wyżej napisał.

Tego nie rozumiem. W jaki sposób połączyć się z baza danych? wybaczcie laickie pytania:)
Go to the top of the page
+Quote Post
Polonistyk
post 22.07.2011, 16:21:34
Post #8





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 23.04.2011

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


Cytat(papisp @ 22.07.2011, 15:28:08 ) *
To zrobiłem

Tego nie rozumiem. W jaki sposób połączyć się z baza danych? wybaczcie laickie pytania:)


Znajdź plik który odpowiada się za połączenie z bazą danych, poźniej w tym pliku zaraz nad
  1. ?>
dodaj
  1. mysql_query('SET NAMES utf8');

Go to the top of the page
+Quote Post
papisp
post 23.07.2011, 08:52:02
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2011

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


Podpowiesz, który to będzie plik?
W głównym mam takie:
Kod
.ftpquota
.htaccess
articles.php
blank_config.php
config.php
contact.php
downloads.php
edit_profile.php
faq.php
footer.php
index.php
login.php
lostpassword.php
maincore.php
maintenance.php
members.php
messages.php
news.php
news_cats.php
photogallery.php
print.php
profile.php
readarticle.php
register.php
search.php
setuser.php
showphoto.php
side_left.php
side_right.php
subheader.php
submit.php
viewpage.php
weblinks.php
Go to the top of the page
+Quote Post
IceManSpy
post 23.07.2011, 09:20:30
Post #10





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Zacznij od index.php


--------------------
Go to the top of the page
+Quote Post
Polonistyk
post 23.07.2011, 09:24:43
Post #11





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 23.04.2011

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


Plik może być w folderze, najlepiej daj kod pliku readarticle.php
Go to the top of the page
+Quote Post
papisp
post 23.07.2011, 11:46:34
Post #12





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2011

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


readarticle.php

  1. <?php
  2. /*---------------------------------------------------+
  3. | PHP-Fusion 6 Content Management System
  4. +----------------------------------------------------+
  5. | Copyright Š 2002 - 2006 Nick Jones
  6. | <a href="http://www.php-fusion.co.uk/" target="_blank">http://www.php-fusion.co.uk/</a>
  7. +----------------------------------------------------+
  8. | Released under the terms & conditions of v2 of the
  9. | GNU General Public License. For details refer to
  10. | the included gpl.txt file or visit <a href="http://gnu.org" target="_blank">http://gnu.org</a>
  11. +----------------------------------------------------*/
  12. require_once "maincore.php";
  13. require_once "subheader.php";
  14. require_once "side_left.php";
  15. require_once INCLUDES."comments_include.php";
  16. require_once INCLUDES."ratings_include.php";
  17.  
  18. if (!isset($article_id) || !isNum($article_id)) fallback("index.php");
  19. if (!isset($rowstart) || !isNum($rowstart)) $rowstart = 0;
  20.  
  21. $result = dbquery(
  22. "SELECT ta.*,tac.*, tu.user_id,user_name FROM ".$db_prefix."articles ta
  23. INNER JOIN ".$db_prefix."article_cats tac ON ta.article_cat=tac.article_cat_id
  24. LEFT JOIN ".$db_prefix."users tu ON ta.article_name=tu.user_id
  25. WHERE article_id='$article_id'"
  26. );
  27. $res = 0;
  28. if (dbrows($result) != 0) {
  29. $data = dbarray($result);
  30. if (checkgroup($data['article_cat_access'])) {
  31. $res = 1;
  32. if ($rowstart == 0) $result = dbquery("UPDATE ".$db_prefix."articles SET article_reads=article_reads+1 WHERE article_id='$article_id'");
  33. $article = stripslashes($data['article_article']);
  34. $article = explode("<--PAGEBREAK-->", $article);
  35. $pagecount = count($article);
  36. $article_subject = stripslashes($data['article_subject']);
  37. $article_info = array(
  38. "article_id" => $data['article_id'],
  39. "user_id" => $data['user_id'],
  40. "user_name" => $data['user_name'],
  41. "article_date" => $data['article_datestamp'],
  42. "article_breaks" => $data['article_breaks'],
  43. "article_comments" => dbcount("(comment_id)", "comments", "comment_type='A' AND comment_item_id='".$data['article_id']."'"),
  44. "article_reads" => $data['article_reads'],
  45. "article_allow_comments" => $data['article_allow_comments']
  46. );
  47. render_article($article_subject, $article[$rowstart], $article_info);
  48. if (count($article) > 1) {
  49. $rows = $pagecount;
  50. echo "<div align='center' style='margin-top:5px;'>\n".makePageNav($rowstart,1,$rows,3,FUSION_SELF."?article_id=$article_id&amp;")."\n</div>\n";
  51. }
  52. if ($data['article_allow_comments']) showcomments("A","articles","article_id",$article_id,FUSION_SELF."?article_id=$article_id");
  53. if ($data['article_allow_ratings']) showratings("A",$article_id,FUSION_SELF."?article_id=$article_id");
  54. }
  55. }
  56. if ($res == 0) redirect("articles.php");
  57.  
  58. require_once "side_right.php";
  59. require_once "footer.php";
  60. ?>




Index.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. /*---------------------------------------------------+
  11. | PHP-Fusion 6 Content Management System
  12. +----------------------------------------------------+
  13. | Copyright ? 2002 - 2006 Nick Jones
  14. | <a href="http://www.php-fusion.co.uk/" target="_blank">http://www.php-fusion.co.uk/</a>
  15. +----------------------------------------------------+
  16. | Released under the terms & conditions of v2 of the
  17. | GNU General Public License. For details refer to
  18. | the included gpl.txt file or visit <a href="http://gnu.org" target="_blank">http://gnu.org</a>
  19. +----------------------------------------------------*/
  20. require_once "maincore.php";
  21.  
  22. redirect($settings['opening_page']);
  23. ?>
  24.  
  25. </body>
  26. </html>




Takie są foldery

administration
cgi-bin
forum
images
includes
infusions
locale
themes

Go to the top of the page
+Quote Post
Rid
post 23.07.2011, 12:02:01
Post #13





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Jako język strony ma Pan zadeklarowany angielski-to może być przyczyną:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
proszę zmienić na:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="pl">
I sprawdzić także kodowanie pliku-czy ma kodowanie UTF-8 bez Bom

A tak poza tym wydaje mi się,że tą stronę w ogóle u Pana nikt jej nie robił-próbuje Pan przerobić stronę gdzieś zaciągniętą z internetu na polskojęzyczną i do tego celu chce się Pan posłużyć Forumowiczami-wątpię ,aby Pana informatykowi chciało się wpisywać komentarze licencji w języku angielskim i dodatkowo wszystkie zmienne jak i deklaracje i nagłówki strony są pięknie po Angielsku napisane.

Życzę powodzenia w dalszym przerabianiu skryptu rolleyes.gif

Ten post edytował Rid 23.07.2011, 12:12:04
Go to the top of the page
+Quote Post
papisp
post 23.07.2011, 12:29:44
Post #14





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2011

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


Cytat(Rid @ 23.07.2011, 13:02:01 ) *
A tak poza tym wydaje mi się,że tą stronę w ogóle u Pana nikt jej nie robił-próbuje Pan przerobić stronę gdzieś zaciągniętą z internetu na polskojęzyczną i do tego celu chce się Pan posłużyć Forumowiczami-wątpię ,aby Pana informatykowi chciało się wpisywać komentarze licencji w języku angielskim i dodatkowo wszystkie zmienne jak i deklaracje i nagłówki strony są pięknie po Angielsku napisane.

Życzę powodzenia w dalszym przerabianiu skryptu rolleyes.gif

Być może tak jest ja chcę tylko to naprawić a w php mam zero doświadczenia HTML-a troszkę lizałem.

Zmieniłem kodowanie pliku index.php na kodowanie utf-8 poprawiłem tak jak Pan sugerował i efektu nie ma.
Zastanawia mnie jedno dlaczego w źródle strony pomimo zmian i edycji jest nadal
  1. <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>
Go to the top of the page
+Quote Post
Polonistyk
post 23.07.2011, 12:35:11
Post #15





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 23.04.2011

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


No więc tak, prawdopodobnie w pliku maincore.php jest połączenie z bazą, tam powinieneś dodać
  1. mysql_query('SET NAMES utf8');

Nad
  1. ?>

Najlepiej jakbyś wrzucił ten plik (maincore.php), ale pamiętaj, może on zawierać hasła do bazy danych także dobrze sprawdź zanim go tutaj umieścisz smile.gif
Go to the top of the page
+Quote Post
potreb
post 23.07.2011, 12:44:32
Post #16





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

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


Panowie to nie jest zgadul zgadula. System phpfusion jest tak obryty i prosty że nie ma co tu myśleć, najpierw sprawdzić kodowanie bazy, tabel, czy treść jest tam poprawnie zakodowana. Po tym należy sprawdzić kodowanie plików, meta i połączenie z bazą. Myślę, że przy użyciu wyszukiwarki na php.pl kolega znajdzie odpowiedź.


--------------------

Go to the top of the page
+Quote Post
papisp
post 23.07.2011, 16:49:18
Post #17





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2011

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


Cytat(Polonistyk @ 23.07.2011, 13:35:11 ) *
No więc tak, prawdopodobnie w pliku maincore.php jest połączenie z bazą, tam powinieneś dodać
  1. mysql_query('SET NAMES utf8');

Nad
  1. ?>

Najlepiej jakbyś wrzucił ten plik (maincore.php), ale pamiętaj, może on zawierać hasła do bazy danych także dobrze sprawdź zanim go tutaj umieścisz smile.gif

Tak zrobiłem i krzaki były większe

Dnia 17 grudnia b.r odbyło się zebranie stowarzyszenia, które było podsumowaniem roku, a jednocześnie wstępnym planowaniem działań

Przywróciłem z powrotem poprzedni stan.

Polonistyk jak dam Ci dostęp na pw to dasz radę naprawić?
Go to the top of the page
+Quote Post
Damonsson
post 23.07.2011, 17:17:46
Post #18





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


1. Przeczytałeś podwieszony temat i sprawdziłeś wszystkie możliwości?
Odpowiem za Ciebie, Nie. Bo gdybyś to zrobił problem zostałby rozwiązany.

2. Zamiast bezsensownie szukać po wszystkich plikach, sprawdź sobie gdzie PHP-Fusion 6 łączy się z bazą danych i tam zmień kodowanie, jeśli nie znajdziesz, to masz pewnie nazwę i hasło do bazy danych wpisz któreś w nich w wyszukiwarkę np. Total Commandera i znajdzie Ci, w jakim pliku jest to słowo...w tym pliku łączysz się z bazą danych i tam stosujesz się do zaleceń z podpiętego tematu odnośnie polskich znaków.

Ten post edytował Damonsson 23.07.2011, 17:18:19
Go to the top of the page
+Quote Post
Polonistyk
post 23.07.2011, 18:01:13
Post #19





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 23.04.2011

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


Poradzisz sobie...
Krzaczki większe, hmm... zmień kodowanie w bazie danych na utf8
http://forum.php.pl/lofiversion/index.php/t66292.html
Prawdopodobnie będziesz musiał poprawić wszystkie literki, bo w bazie danych będą zapisane jako ? To na pewno pomoże, ale może to być czasochłonne.

Tutaj porada, którą wygooglowałem.
W pliku łączenia z bazą dodaj:
  1. mysql_query('SET character_set_connection=utf8');
  2. mysql_query('SET character_set_client=utf8');
  3. mysql_query('SET character_set_results=utf8');

Możesz spróbować

Ten post edytował Polonistyk 23.07.2011, 18:06:13
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 16:56