PHP mail, nefungují české znaky

Od: Datum: 19.05.17 16:00 odpovědí: 6 změna: 22.05.17 17:33

Zdravím,pořídil jsem si modul - addon k programu na tvorbu svých web. stránek, jde vlastně o pop-up kontaktní formulář, který je jednoduše udělaný v HTML s pomocí PHP a javaskriptu. V PHP se nachází některá pole k přeložení, v javaskriptu jsou další hlášky typu, načítám, posílám, odesláno.. u všech těchto - jsou-li přeloženy do češtiny se místo speciálních znaků (ěščřžýáíé) objeví otazník.. to samé se objeví v emailu, který mi z dotazníku příjde.. jediná vyjímka je pole "message", kde se znaky zobrazí tak, jak mají.. nedaří se mi přijít na řešení a modul již nemá podporu, která by mi byla schopna pomoct..Nastavení charset jsem našel jen v PHP souboru, kde si myslím, že bude problém, i když věřím, že jde o relativně snadnou maličkost, nerozumím tomuto jazyku natolik, abych objevil přesný problém a opravil jej bez poškození funkce formuláře.Podařilo se mi opravit znaky (podle všeho krome "š") tím, že jsem do daného řádku s popisem pole vložil utf8_encode("..."), to však nelze, aspon s mými znalostmi aplikovat na všechno ve formuláři.. navíc to podle všeho neřeší to Š, možná i jiné znaky, které jsem neověřoval dále.. dlouhé á a í to opravilo.. ale asi to tedy nebude řešení ideální..Budu rád, když mi někdo pomůže, přikládám PHP.. pokud by chtěl někdo pomoct a potřeboval k tomu i ostatní soubory, rád pošlu na mail.. ale jak říkám, prohledával jsem celý kód (není tak dlouhý) a nic, co by se na první pohled týkalo kódování textu v ostatních souborech nebylo - pouze překlady některých polí v souboru .js

Moc děkuji!

OPRAVA: nějak mi nejde vložit kód.. pokud by mi někdo chtěl pomoct, pošlu na mail rovnou všechny soubory, děkuji!


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Datum: 19.05.17 19:42

Odesílání e-mailů v PHP má mnoho specifik a je proto rozumné využít k tomu určené knihovny, které "myslí na všechno".
Třeba PHPMailer: https://github.com/PHPMailer/PHPMailer

Ohodnoceno: 0x
 
Od: tttt
Datum: 19.05.17 22:29
 
Od: hm®
Datum: 19.05.17 22:59
avatar

Jakou znakovou sadu (charset) má nastavenou celá ta stránka html?

A jsou pak ty české znaky zapsány v nastavené sadě, nebo je třeba sada utf-8, ale texty píšeš ve Windows a vkládáš tak kódy WIN1250? Jinými slovy, když si stránku zobrazíš a vidíš otazníky, pomůže přepnutí znakové sady v prohlížeči (vyzkoušej všechny možnosti, které připadají v úvahu)?

Ohodnoceno: 0x
 
Od: ttttt
Datum: 20.05.17 09:50

Stránky jsou také UTF-8, přepnutí znakové sady nepomůže.

Datum: 22.05.17 07:12
avatar
Řešil jsem obdobný problém. Nastavení kódování stránky ti nepomůže. Musí se v php nastavit parametry, které se odešlou v hlavičce mailu, a právě tam se nastavuje kódování v jakém je email. Bohužel teď nemám na telefonu přístup do php abych ti poslal kódy. Každopádně zkus hledat jak v php zadat hlavičku mailu a jaké věci do ni umístit. Večer bych tu hodil kód až budu na pc.
Ohodnoceno: 0x
 
Datum: 22.05.17 17:33

No když jsem nejde vložit kód tak bych asi raději šel na forum zabývající se programováním, je to lepší protože na tu tématiku jsou tam specialisti. Ve vyhledávači něco určitě najdeš. Ale proč si nenajdeš addon, který podporuje Kódování pro středí evropu? Zkoušel ses podívat jestli tam není někde v nastavení něco čím nastavuješ kódování? Jaké kódování používají? a co readme? Základní pravidlo je, že zdrojáky mají být uloženy ve kódování UTF-8. Pak musíš mít na html stránce nastavené správné kódování CHARSET ... charset=UTF-8 ... dále v php používáš příkazy které pracují s UTF8. Hlavně funkce, které zpracovávají řetězce musí podporovat utf8. Dále, když ladíš jakýkoliv php script tak se musíš ujistit, že to co zobrazuješ na stránce v hlavičce je opět charset utf 8 ... Můžeš taky použít vývojářské nástroje např. ve Firefoxu, kde se podíváš co stránka odesílá, resp. co odesílá Javascript. Takže používáš celou škálu metod, kterými analyzuješ jestli se data zobrazují správně a kde nastala chyba... Nakonec ověříš, jestli se správně data uložila ve správném kódování do souboru nebo do databáze, která má taky nastavené správné kódování. Ohledně mailu jsem pak zadal do vyhledávače php mail kódování a hned mi vyjel jeden ze známých článků od pana Vrány.

Ohodnoceno: 0x
 

 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2017 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.