Kniha Hostů : phpRS Fórum
Máte dotaz ohledně knihy hostů?
phpRS - redakční a informační systém
Jít na stránku:  12Další
Aktuální stránka:1 z 2
Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-05, 17:43

Zdravím,

mám phpRS 2.8.1 a nainstaloval jsem si Knihu hostů verze 1.6.2. Všechno běhá dobře, jen v upozorňujících mailech je naprosto zdrbaná čeština. Na vlastním webu je všechno OK. Celý web je kódován v utf-8.
V "lengine.php" mám správně "$layoutkodovani='utf-8",
v "config.php" mám "$GLOBALS['rsconfig']['kodovani']="UTF-8";"
a všechny soubory jsem překódoval do utf-8.

Je mi divný, že to blbne jen v těch mailech - díval jsem se do zdrojáku a při výpisu na webu i při posílání mailu se používají stejné definované proměnné. Nevíte někdo, čím by to mohlo být? Díky.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2009-11-08, 14:02

Chelo by to úkážku zdrojáku mailu a kód, ktorý to odosiela.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 08:15

Takže takhle odesílám mail:

if ($addnew) {
if ($mail && function_exists(mail)) {
mail($GLOBALS['redakceadr'], GB_KNIHA_NAVSTEV." - ".GB_NOVY_PRISPEVOK, $GLOBALS['guestbook']->name." ".GB_NOVY_PRISPEVOK_TEXT." (".$GLOBALS['guestbook']->date.") na stránkách ".$baseadr."guestbook.php\n\n".$GLOBALS['guestbook']->message."");
}
header("Location: ".$GLOBALS['baseadr']."guestbook.php");
}


A tohle mi přijde:

Předmět: Kniha nĂĄvĹĄtÄ v - NovÄ Ë pÄšâ ˘Ä Â­spĂ â şvek

ANONYM pridal(a) nov�� pĚ��­sp��vek (2009-11-05 17:02:15) na strånkåch [http://www.domena.cz/guestbook.php]

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2009-11-11, 08:57

odeslani emailu bohuzel neni pouhe pouziti funkce mail() - k tomu, aby to spravne fungovalo, je treba v emailu posilat hlavicky, jakym zpusobem je email poslan a zakodovan - coz je vcelku slozita problematika - puvodne se totiz emaily posilaly jen 7-mi bitove a tak 8-mi bitove kodovani se muselo "nejak" zkonvertovat, aby se veslo do tech 7-mi bitu, dneska lze posilat emaily i 8-mi bitove, ale musi to byt v te hlavicce, podobne je to i s kodovanim diakritiky.
Z tohoto duvodu se na posilani "slusnych" emailu vetsinou pouzivaji nejake hotove knihovny, kdy se clovek temito "detaily" nemusi zabyvat - napr. phpMailer

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 09:32

Já jsem si přečetl tyto čláky [http://www.supersvet.cz/search.php?rsvelikost=sab&rstext=all-phpRS-all&rstema=2] a vyzkoušel jsem všechny zde uvedené rady, ale bohužel bez úspěchu. Ale např. informační mail při přidání nového článku je z hlediska češtiny v pořádku (tedy jen předmět, protože obsah mi nepřišel, ale to jsem zatím neřešil). Díval jsem se jak je odesílán tento mail, a je fakt, že s kódováním se tam čaruje.



Celkem upraveno 3×. Poslední úprava Šváb v 11.11.2009 10:07.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2009-11-11, 14:14

A proč tedy nepoužiješ standardní knihovnu phpRS (navíc když ti funguje)???

admin/astdlib_mail.php a její funkce;
nebo:

$newprispevek=Base64_Encode(GB_KNIHA_NAVSTEV." - ".GB_NOVY_PRISPEVOK, $GLOBALS['guestbook']->name." ".GB_NOVY_PRISPEVOK_TEXT." (".$GLOBALS['guestbook']->date.") na stránkách ".$baseadr."guestbook.php\n\n".$GLOBALS['guestbook']->message);
$newprispevekhlavicka .="From: ".$GLOBALS["redakceadr"]."\n".
"MIME-Version: 1.0\n".
"Content-Type: text/plain; charset=\"kodovani (utf-8)\"\n".
"Content-Transfer-Encoding: base64";
$newprispevekpredmet=GB_NOVY_PRISPEVOK." ".$GLOBALS["wwwname"];
@Mail($GLOBALS["redakceadr"],$newprispevekpredmet,$newprispevek,$newprispevekhlavicka);



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 14:42

Tak jsem to zkusil podle příkladu výše, ale bohužel to nejede. Přijde jen předmět mailu navíc se špatnou češtinou. Tělo mailu nepříjde vůbec. Tak nevím. Budu muset zkusit ještě ten postup z astdlib_mail.php, ale to mi asi chvilku zabere, nejsem ještě tak zběhlej v PHP.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2009-11-11, 14:56

nevím jestli jsi tam náhodou nenechal celé kodovani (utf-8). Schválně jsem to psal červeně a kurzívou aby to trklo každého.

to bylo jako příklad, protože nevím co používáš za kódovou stránku.
Varianty:
windows-1250
iso-8859-2
utf-8

Další problém může nastat ve slovníkovém souboru, který může být se špatným kódováním (ten by bylo potřeba vidět včetně Tvé úpravy v souboru guestbook.php).



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 1×. Poslední úprava Lonanek v 11.11.2009 14:56.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 15:17

Ne, celé kodovani (utf-8) jsem tam nenechal :-) Dal jsem tam jen utf-8 , ve kterém mám kódovaný celý web. Slovníkový soubor guestbook_cz.php je v pořádku.

Úprava guestbook.php: v podstatě jsem zkopíroval kód z Tvého prvního příspěvku. Nebo je třeba vidět ještě i další části?

A taky mi nejde do hlavy, proč kromě špatný češtiny nechodí tělo mailu? Vyřešením jednoho problému se třeba odstraní i ten druhý...

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2009-11-11, 15:35

vidět jsem myslel dát jej sem k prohlédnutí. Provozní slepota je strašná věc.
To co ty považuješ za naprosto v pohodě bez chyb může jiný vidět jinak.

slovník a guestbook změň příponu na txt a přilož je sem.


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 18:46

Dobře, přikládám...

Přílohy: guestbook.txt (11kB)  
Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 18:47

A druhej...

Přílohy: guestbook_cz.txt (4kB)  
Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2009-11-11, 19:36

zkus to odeslání nahradit tímhle:

$newprispevek=Base64_Encode($GLOBALS['guestbook']->name." ".GB_NOVY_PRISPEVOK_TEXT." (".$GLOBALS['guestbook']->date.") na stránkách ".$baseadr."guestbook.php\n\n".$GLOBALS['guestbook']->message);
$newprispevekhlavicka="From: ".$GLOBALS["redakceadr"]."\nMIME-Version: 1.0\nContent-Type: text/plain; charset=\"utf-8\"\nContent-Transfer-Encoding: base64";
$newprispevekpredmet=GB_KNIHA_NAVSTEV." - ".GB_NOVY_PRISPEVOK;
@Mail($GLOBALS["redakceadr"],$newprispevekpredmet,$newprispevek,$newprispevekhlavicka);


Nechápu proč máš ve slovníkovém souboru dvakrát stejné znaky (pro utf-8 a win1250)

nech si vypsat proměnnou $GLOBALS['layoutkodovani'] - co ti napíše


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 20:07

Tak už to částečně funguje - místo stránkách jsem tam napsal normálně stránkách a je to OK. Jen předmět je pořád špatnej - a když jsem to zkusil doplnit na $newprispevekpredmet=Base64_Encode(GB_KNIHA_NAVSTEV." - ".GB_NOVY_PRISPEVOK); tak mi přišla hrůza S25paGEgbsOhdsWhdMSbdiAtIE5vdsO9IHDFmcOtc3DEm3Zlaw==.

Proměnná $GLOBALS['layoutkodovani'] vypisuje utf-8.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2009-11-11, 20:21

co používáš za editor a jakou tam máš nastavenou kodovou stránku
v předmětu se Base64_Encode nepoužívá

Ještě mne napadla jedna varianta.
dej si $newprispevek jenom tu závorku (vyhoď Base64_Encode)

nech si ho vypsat

pak
$newprispevek=Base64_Encode($newprispevek);

to co ti vypise také musí přijít v mejlu.

EDIT
pošli mi ty soubory 2 mejlem.


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 1×. Poslední úprava Lonanek v 11.11.2009 20:29.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Šváb (IP adresa zaznamenána)
Datum: 2009-11-11, 22:10

Takže problém je vyřešen. Sekvence posílání mailu má být následující:

$newprispevek=Base64_Encode($GLOBALS['guestbook']->name." ".GB_NOVY_PRISPEVOK_TEXT." (".$GLOBALS['guestbook']->date.") na stránkách ".$baseadr."guestbook.php\n\n".$GLOBALS['guestbook']->message.$GLOBALS['layoutkodovani']);
$newprispevekhlavicka="From: ".$GLOBALS["redakceadr"]."\nMIME-Version: 1.0\nContent-Type: text/plain; charset=\"utf-8\"\nContent-Transfer-Encoding: base64";
$newprispevekpredmet= '=?UTF-8?B?'.base64_encode(GB_KNIHA_NAVSTEV." -
".GB_NOVY_PRISPEVOK).'?=';
@Mail($GLOBALS["redakceadr"],$newprispevekpredmet,$newprispevek,$newprispevekhlavicka);

Můj velký dík za vyřešení tohohle problému patří Lolankovi, který do toho vložil hodně energie a po několika krocích a obratech přinesl funkční řešení. Ještě jednou velký dík!

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Potifer (IP adresa zaznamenána)
Datum: 2012-04-30, 11:51

Šváb napsal/a:
-------------------------------------------------------
> Takže problém je vyřešen. Sekvence posílání mailu
> má být následující:
>
> $newprispevek=Base64_Encode($GLOBALS['guestbook']-
> >name." ".GB_NOVY_PRISPEVOK_TEXT."
> (".$GLOBALS['guestbook']->date.") na stránkách
> ".$baseadr."guestbook.php\n\n".$GLOBALS['guestbook
> ']->message.$GLOBALS['layoutkodovani']);
> $newprispevekhlavicka="From:
> ".$GLOBALS["redakceadr"]."\nMIME-Version:
> 1.0\nContent-Type: text/plain;
> charset=\"utf-8\"\nContent-Transfer-Encoding:
> base64";
> $newprispevekpredmet=
> '=?UTF-8?B?'.base64_encode(GB_KNIHA_NAVSTEV." -
> ".GB_NOVY_PRISPEVOK).'?=';
> @Mail($GLOBALS["redakceadr"],$newprispevekpredmet,
> $newprispevek,$newprispevekhlavicka);
>
> Můj velký dík za vyřešení tohohle problému patří
> Lolankovi, který do toho vložil hodně energie a po
> několika krocích a obratech přinesl funkční
> řešení. Ještě jednou velký dík!


Dobrý den. Mám naprosto stejný problém. Vše jsem udělal, ovšem poradí mi někdo, kam mohu zkopírovat tento kód. Používám tuhle verzi # phpRS Admin Standard Mail library 1.1.4 . Děkuji.

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2012-04-30, 12:25

Tohle jde mimo standardní knihovnu.
Jaké je na stránkách použito kódování, nebo dej odkaz na stránky.

Guestbook je tuším natvrdo pro UTF-8


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Potifer (IP adresa zaznamenána)
Datum: 2012-05-01, 10:36


Re: Špatná čeština JEN v upozorňujícím mailu
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2012-05-01, 13:33

Neodpustím si poznámku:
Nepředpokládám, že jako podnikatel, jsi zaplatil za phpRS (nebo se mýlím?). Na stránkách je porušena základní podmínka bezplatného používání tohoto systému.

Nyní k věci, problém se netýká Knihy návštěv.
Jde o script (send.php) který potřebuješ upravit.
Je nutno správně nakódovat celý obsah odesílaného e-mailu ve správném kódování.
Věštit neumím, takže buď dát soubor sem na web (upravit příponu na *.txt a vložit jako přílohu) nebo mi jej zaslat na kontaktní e.mail.

Nicméně nechápu, proč vkládaný kód obsahuje kompletní hlavičku a také ukončení stránky?
Citace:

<div class="ram">
<a href="search.php?rsvelikost=sab&amp;rstext=all-phpRS-all&amp;rstema=5"></a>
<div class="cla-cely">
<h1 class="cla-nadpis">Nabídněte</h1>
<div class="cla-obsah">
<div class="cla-text">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>REALPARTNERSGROUP - Formulář pro vaši nabídku</title>
</head>
<style type="text/css">
<!--

Takhle uvedená stránka vypadá ve validátoru


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 1×. Poslední úprava Lonanek v 01.05.2012 13:34.

Jít na stránku:  12Další
Aktuální stránka:1 z 2


Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.