Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Notepad++ i kodowanie plików php
Rostov
post 30.07.2012, 18:48:56
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.10.2009

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


Dlaczego, mimo zaznaczonego w ustawieniach Notepad++ kodowania jako 8859-2, po otwarciu każdego pliku php w tym programie, mam zaznaczone domyślnie "Koduj w ANSI"? Za każdym razem muszę zmieniać zestaw znaków na 8859-2, bo inaczej po zapisaniu pliku mam problemy z krzaczkami :/
Go to the top of the page
+Quote Post
pedro84
post 30.07.2012, 18:51:09
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Pliki zapisuj w UTF-8 (bez BOM) i ustaw sobie domyślnie, żeby dla plików otwieranych też takie kodowanie ustawiał.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
Rostov
post 30.07.2012, 18:58:31
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.10.2009

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


Może wyjaśnię o jaki kod chodzi:

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" href="../../../../../css/styl.css">
<meta name="keywords" content="blog, dziennik">
<title>CZARNOSZARY - dodaj komentarz</title>
<link rel="alternate" type="application/rss+xml" title="RSS" href="/index.rss">

</head>
<body style="background-image: url('../../../../../grafika/tlo.jpg');">
<br /><div align="center"><b> Zażółć gęślą jaźń </b> </div><br />
<?php
if (count($_POST))
{
   ////////// USTAWIENIA //////////
   $email = 'rostov@o2.pl';   // Adres e-mail adresata
   $subject = ' 17.07.2012 || 18:13 <=> Zażółć gęślą jaźń';   // Temat listu
   $message = '<b><br /><br />Dzięki za komentarz! Pojawi się po zatwierdzeniu przez moderatora;-)<br /> <br /><a href="../../../../../../index.htm">[strona główna]</a>';   // Komunikat
   $error = 'Wystąpił błąd podczas wysyłania formularza';   // Komunikat błędu
   $charset = 'iso-8859-2';   // Strona kodowa
   /////////////////////////////
  
   $head =
      "MIME-Version: 1.0\r\n" .
      "Content-Type: text/plain; charset=$charset\r\n" .
      "Content-Transfer-Encoding: 8bit";
   $body = '';
   foreach ($_POST as $name => $value)
   {
      if (is_array($value))
      {
         for ($i = 0; $i < count($value); $i++)
         {
            $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
         }
      }
      else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
   }
   echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>
<form action="?" method="post">
<table width="300" align="center">
<tr><td><b>Imię lub ksywa:</b></td>
<td><input type="text" name="name" value="" maxlength="80" size="30"></td>

<tr><td><b>E-mail:</b></td>
<td><input type="text" name="email" value="" maxlength="50"
size="30"></td></tr>

<tr><td><b>WWW:</b></td>
<td><input type="text" name="www" value="" maxlength="50"
size="30"></td></tr>

<tr><td><b>Komentarz:</b></td></td>
<td><textarea name="message" cols=30 rows=15></textarea></td></tr>
</table>
<input type="submit" value="Wy&#x015b;lij" border=0>

</form>
<?php
}
?>

</body>
</html>


Gdy przestawiam na "Koduj w UTF-8 (bez BOM)" pojawia mi się taka oto sieczka:

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" href="../../../../../css/styl.css">
<meta name="keywords" content="blog, dziennik">
<title>CZARNOSZARY - dodaj komentarz</title>
<link rel="alternate" type="application/rss+xml" title="RSS" href="/index.rss">

</head>
<body style="background-image: url('../../../../../grafika/tlo.jpg');">
<br /><div align="center"><b> Za࠳Ԧ g귬Ѡjaݱ </b> </div><br />
<?php
if (count($_POST))
{
   ////////// USTAWIENIA //////////
   $email = 'rostov@o2.pl';   // Adres e-mail adresata
   $subject = ' 17.07.2012 || 18:13 <=> Za࠳Ԧ g귬Ѡjaݱ';   // Temat listu
   $message = '<b><br /><br />Dzi묩 za komentarz! Pojawi siꡰo zatwierdzeniu przez moderatora;-)<br /> <br /><a href="../../../../../../index.htm">[strona gԳwna]</a>';   // Komunikat
   $error = 'WystҰiӠbӱd podczas wysyԡnia formularza';   // Komunikat bԪdu
   $charset = 'iso-8859-2';   // Strona kodowa
   /////////////////////////////
  
   $head =
      "MIME-Version: 1.0\r\n" .
      "Content-Type: text/plain; charset=$charset\r\n" .
      "Content-Transfer-Encoding: 8bit";
   $body = '';
   foreach ($_POST as $name => $value)
   {
      if (is_array($value))
      {
         for ($i = 0; $i < count($value); $i++)
         {
            $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
         }
      }
      else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
   }
   echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>
<form action="?" method="post">
<table width="300" align="center">
<tr><td><b>Imiꡬub ksywa:</b></td>
<td><input type="text" name="name" value="" maxlength="80" size="30"></td>

<tr><td><b>E-mail:</b></td>
<td><input type="text" name="email" value="" maxlength="50"
size="30"></td></tr>

<tr><td><b>WWW:</b></td>
<td><input type="text" name="www" value="" maxlength="50"
size="30"></td></tr>

<tr><td><b>Komentarz:</b></td></td>
<td><textarea name="message" cols=30 rows=15></textarea></td></tr>
</table>
<input type="submit" value="Wy&#x015b;lij" border=0>

</form>
<?php
}
?>

</body>
</html>
Go to the top of the page
+Quote Post
abort
post 30.07.2012, 21:00:45
Post #4





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


W menu "format" masz jeszcze opcje konwersji na formaty UTF. Spróbuj może tego. Choć jak nie chcesz utf (dlaczego? utf naprawdę nie boli, sam długo pisałem w 8859-2, ale to już jest prehistoria)

Po drugie, ustaw sobie swoje preferencje:
Ustawienia -> Preferencje -> Nowy dokument - tam ustawiasz znaki końca linii (mac/unix/win), kodowanie i wyświetlanie.
Go to the top of the page
+Quote Post
krispak
post 30.07.2012, 22:52:03
Post #5





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Ehh... wacko.gif
Jak uzywasz iso to nie kodujesz w UTF. Po utworzeniu dokumentu zapisujesz w iso - czyli dla twojego kodowania wybierasz Format -> Zestaw znaków -> Wschodnioeuropejskie -> ISO 8859-2.
Zadnego kombinowania...

Ten post edytował krispak 30.07.2012, 22:54:34


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
Rostov
post 31.07.2012, 10:10:11
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.10.2009

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


Cytat(abort @ 30.07.2012, 22:00:45 ) *
W menu "format" masz jeszcze opcje konwersji na formaty UTF. Spróbuj może tego. Choć jak nie chcesz utf (dlaczego? utf naprawdę nie boli, sam długo pisałem w 8859-2, ale to już jest prehistoria)

Miałem kilka niemiłych niespodzianek kodując w UTF-8 i wolę jednak pozostać przy ISO 8859-2.

Cytat
Po drugie, ustaw sobie swoje preferencje:
Ustawienia -> Preferencje -> Nowy dokument - tam ustawiasz znaki końca linii (mac/unix/win), kodowanie i wyświetlanie.

Otóż właśnie tam mam ustawione kodowanie w ISO 8859-2, jednak po otworzeniu pliku zapisanego wcześniej w ISO, zaznacza mi się Format -> Koduj w ANSI i jeśli nie pamiętam, by przed zapisem zmienić na ISO 8859-2, to po wprowadzeniu choćby najmniejszej zmiany, plik od nowa koduje mi się w ANSI.

Cytat(krispak @ 30.07.2012, 23:52:03 ) *
Ehh... wacko.gif
Jak uzywasz iso to nie kodujesz w UTF. Po utworzeniu dokumentu zapisujesz w iso - czyli dla twojego kodowania wybierasz Format -> Zestaw znaków -> Wschodnioeuropejskie -> ISO 8859-2.
Zadnego kombinowania...

Czyli nie da się tego ustawić domyślnie dla plików *.php?
Go to the top of the page
+Quote Post
krispak
post 31.07.2012, 18:30:08
Post #7





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Pewnie, ze sie da wink.gif
Ustawienia -> Preferencje -> Nowy dokument -> Kodowanie -> Zaznaczasz liste rozwijana a w niej ustawiasz swoj format


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
Rostov
post 31.07.2012, 18:42:55
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.10.2009

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


Cytat(krispak @ 31.07.2012, 19:30:08 ) *
Pewnie, ze sie da wink.gif
Ustawienia -> Preferencje -> Nowy dokument -> Kodowanie -> Zaznaczasz liste rozwijana a w niej ustawiasz swoj format

Napisałem wcześniej wyraźnie:

Cytat(Rostov @ 31.07.2012, 11:10:11 ) *
Otóż właśnie tam mam ustawione kodowanie w ISO 8859-2, jednak po otworzeniu pliku zapisanego wcześniej w ISO, zaznacza mi się Format -> Koduj w ANSI i jeśli nie pamiętam, by przed zapisem zmienić na ISO 8859-2, to po wprowadzeniu choćby najmniejszej zmiany, plik od nowa koduje mi się w ANSI.

Dodam, że działa to przy plikach *.htm/*.html, ale nie przy *.php.

Ten post edytował Rostov 31.07.2012, 18:44:02
Go to the top of the page
+Quote Post
krispak
post 31.07.2012, 18:48:17
Post #9





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Nie dziw sie bo jak sama nazwa wskazuje NOWY DOKUMENT, a przy nowym dokumecie u mnie jakos na php tez dziala. Pliki ktore masz utworzone musisz po prostu zapisac do iso tak jak pisalem wyzej.


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
Rostov
post 31.07.2012, 18:53:29
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.10.2009

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


Cytat(krispak @ 31.07.2012, 19:48:17 ) *
Nie dziw sie bo jak sama nazwa wskazuje NOWY DOKUMENT, a przy nowym dokumecie u mnie jakos na php tez dziala. Pliki ktore masz utworzone musisz po prostu zapisac do iso tak jak pisalem wyzej.

Próbowałem przy tych ustawieniach zapisywać właśnie NOWE pliki php.
Przed zapisem jest ustawione ISO 8859-2, a po zapisaniu i ponownym otwarciu tego samego pliku, znowu pojawia się ANSI :/
Go to the top of the page
+Quote Post
abort
post 31.07.2012, 21:12:49
Post #11





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Cytat(Rostov @ 31.07.2012, 19:53:29 ) *
Próbowałem przy tych ustawieniach zapisywać właśnie NOWE pliki php.
Przed zapisem jest ustawione ISO 8859-2, a po zapisaniu i ponownym otwarciu tego samego pliku, znowu pojawia się ANSI :/

No dobra, a jakieś polskie znaczki w dokumencie masz? Bo ja zauważyłem u siebie, że jak wybiorę utf bez bom, i dopóki nie użyję polskich znaków, to mam zapisane jako ansi. Ledwie się pojawią polskie znaki, zapisuje w utf. Może u Ciebie jest tak samo?
Go to the top of the page
+Quote Post
Rostov
post 1.08.2012, 12:37:12
Post #12





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.10.2009

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


Cytat(abort @ 31.07.2012, 22:12:49 ) *
No dobra, a jakieś polskie znaczki w dokumencie masz? Bo ja zauważyłem u siebie, że jak wybiorę utf bez bom, i dopóki nie użyję polskich znaków, to mam zapisane jako ansi. Ledwie się pojawią polskie znaki, zapisuje w utf. Może u Ciebie jest tak samo?

W pierwszej części tego posta napisałem, o jaki kod pliku *.php chodzi.
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: 1.05.2025 - 04:20