Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Funkcja mail - brak polskich znaków w treści wiadomości
Nes.
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.02.2010

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


Witam,

Moja strona jest postawiona na cmsie Joomla i ostatnio wgrałem do niej pewny moduł nazywa się mod J Dcontact.
Niestety za chiny ludowe nie umiem ustawić polskich znaków w samej TREŚCI wiadomości.

Tytuł oraz info o użytkowniku posiada polskie znaki, natomiast sama treść już nie.
Cała strona posiada kodowanie utf-8

Link do modułu: http://www.j-download.com/component/attach...ownload/12.html

Kod głównego pliku odpowiadającego za wysłanie wiadomości

  1.  
  2. <?php
  3.  
  4. defined('_JEXEC') or die;
  5.  
  6. class modJdcontactHelper
  7. {
  8. static function preLoadprocess(&$params)
  9. {
  10. if($_POST){
  11. $javascript_enabled = trim($_REQUEST['browser_check']);
  12. $department = trim($_REQUEST['dept']);
  13. $name = trim($_REQUEST['name']);
  14. $email = trim($_REQUEST['email']);
  15. $phno = trim($_REQUEST['phno']);
  16. $subject = trim($_REQUEST['subject']);
  17. $msg = trim($_REQUEST['msg']);
  18. $sales_address = $params->get( 'sales_address', 'sales@yourdomain.com' );
  19. $support_address = $params->get( 'support_address', 'support@yourdomain.com' );
  20. $billing_address = $params->get( 'billing_address', 'billing@yourdomain.com' );
  21. $selfcopy = isset($_REQUEST['selfcopy']) ? $_REQUEST['selfcopy'] : "";
  22. $humantest = $_REQUEST['human_test'];
  23. $sum_test = $_REQUEST['sum_test'];
  24. $humantestpram = $params->get( 'humantestpram', '1' );
  25. $headers = 'MIME-Version: 1.0rn';
  26. $headers .= 'Content-type: text/html; charset=iso-8859-2'."\r\n";
  27. $headers .= 'Wiadomość od: '.$name.' <'.$email.'>'."\r\n";
  28.  
  29.  
  30. $message = "Imię: $name\nE-mail: $email\nTelefon: $phno\n\nWiadomość: $msg";
  31.  
  32. if ( $department == "sales") $to = $sales_address;
  33. elseif ( $department == "support") $to = $support_address;
  34. elseif ( $department == "billing") $to = $billing_address;
  35. else $to = $sales_address;
  36.  
  37. if ( $name == "" )
  38. {
  39. $result = "".JText::_('MOD_JDCONTACT_VLDNAME')."";
  40. }
  41. elseif (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/", $email))
  42. {
  43. $result = "".JText::_('MOD_JDCONTACT_VALIDEMAIL')."";
  44. }
  45. else if($phno=="")
  46. {
  47. $result = "".JText::_('MOD_JDCONTACT_PHONENUMB')."";
  48. }
  49. elseif ( $subject == "" )
  50. {
  51. $result = "".JText::_('MOD_JDCONTACT_MSGSUBJECT')."";
  52. }
  53. elseif ( strlen($msg) < 10 )
  54. {
  55. $result = "".JText::_('MOD_JDCONTACT_MORETENWRD')."";
  56. }
  57. else if($humantestpram=='1' && $humantest!=$sum_test){
  58. $result = "".JText::_('MOD_JDCONTACT_CORRECTNUM')."";
  59. }
  60. else
  61. {
  62. if(@mail($to, $subject, $message, $headers)){
  63. $sucs=1;
  64. }
  65. if( $selfcopy == "yes" ){
  66. if(@mail($email, $subject, $message, $headers)){
  67. $sucs=1;
  68. }
  69. }
  70. if($sucs==1){
  71. $result = "".JText::_('MOD_JDCONTACT_SUCCESSMSG')."";
  72. }
  73. else{
  74. $result = "".JText::_('MOD_JDCONTACT_MAILSERVPROB')."";
  75. }
  76. }
  77.  
  78. if($javascript_enabled == "true") {
  79. echo $result;
  80. die();
  81. }
  82. }
  83. }
  84. }
  85.  
  86. ?>
  87.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




maila wysylasz w ISO, strone masz w utf8.... hmm... ciekawe czemu nie dziala wink.gif


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Nes.
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.02.2010

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


Wiem, ale to kodowanie zostało podane tylko jako przykład.
Po zmianie charset w pliku na utf8 oraz kodowanie całego pliku na utf8 pokazują się takie znaki:

Wiadomość: nowść i gżegżóła

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 Aktualny czas: 19.08.2025 - 20:27