Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

osTicket polskie znaki

osticket charset polskie znaki

5 odpowiedzi na ten temat

osTicket polskie znaki

#1 lukaschemp

    Administrator serwerów

  • WHT Pro
  • PipPipPipPipPip
  • 434 postów
  • Skąd:Polska
  • Firma:networkia.pl
  • Imię:Łukasz

Napisany 30 listopad 2011 - 12:46

Witam,

Czy ktoś naprawiał polskie znaki w mailach z/do osTicket? Mam piękne krzaczki ąłóęźć

Sprawdzałem kilka sposobów z forum osTicket, ale nic nie działa. Baza jest kodowana w UTF-8.
Administracja, konfiguracja i zabezpieczenia serwerów Linux/Unix. - www.networkia.pl
Tani hosting SEO i serwery www - www.hoseo.pl
A??e?a?or ?ew??w - już wkrótce - www.grzebacz.pl i www.grzebacz.it

#2 regdos

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 1506 postów
  • Skąd:Poznań
  • Firma:regdos.com
  • Imię:Tomasz
  • Nazwisko:Regdos

Napisany 30 listopad 2011 - 12:50

Ja dostajesz maila z osTicket to jaki jest charset w nagłówku Content-Type:?

#3 lukaschemp

    Administrator serwerów

  • WHT Pro
  • PipPipPipPipPip
  • 434 postów
  • Skąd:Polska
  • Firma:networkia.pl
  • Imię:Łukasz

Napisany 30 listopad 2011 - 12:52

X-Mailer: osTicket v 1.6
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

@edit

Utworzyłem ticket przez formularz WWW i są polskie znaki w mailu i w panelu, więc problem leży tylko po stronie "email piping" gdy wysyła się bezpośrednio wiadomość na adres e-mail po czym jest on przetworzony na ticket.

Ten post był edytowany przez lukaschemp dnia: 30 listopad 2011 - 12:56

Administracja, konfiguracja i zabezpieczenia serwerów Linux/Unix. - www.networkia.pl
Tani hosting SEO i serwery www - www.hoseo.pl
A??e?a?or ?ew??w - już wkrótce - www.grzebacz.pl i www.grzebacz.it

#4 regdos

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 1506 postów
  • Skąd:Poznań
  • Firma:regdos.com
  • Imię:Tomasz
  • Nazwisko:Regdos

Napisany 30 listopad 2011 - 12:57

Wygląda dobrze, ja bym szukając gdzie się pojawia błąd w miejscu gdzie wywoływana jest funkcje wysyłająca maila wyrzucił bym treść na ekran i zobaczył czy tam już jest źle.
Krzaki są i w treści i temaci ?

#5 lukaschemp

    Administrator serwerów

  • WHT Pro
  • PipPipPipPipPip
  • 434 postów
  • Skąd:Polska
  • Firma:networkia.pl
  • Imię:Łukasz

Napisany 30 listopad 2011 - 13:09

Tak, w treści i w temacie.

Plik pipe.php

[..]
require_once(INCLUDE_DIR.'class.mailparse.php');
require_once(INCLUDE_DIR.'class.email.php');

[..]

$var=array();
$deptId=0;
$name=trim($from->personal,'"');
if($from->comment && $from->comment[0])
    $name.=' ('.$from->comment[0].')';
$subj=utf8_encode($parser->getSubject());
if(!($body=Format::stripEmptyLines($parser->getBody())) && $subj)
    $body=$subj;

$var['mid']=$parser->getMessageId();
$var['email']=$from->mailbox.'@'.$from->host;
$var['name']=$name?utf8_encode($name):$var['email'];
$var['emailId']=$emailId?$emailId:$cfg->getDefaultEmailId();
$var['subject']=$subj?$subj:'[No Subject]';
$var['message']=utf8_encode(Format::stripEmptyLines($body));
$var['header']=$parser->getHeader();
$var['pri']=$cfg->useEmailPriority()?$parser->getPriority():0;
 
[..]

i to wszystko co widzę odnośnie kodowania.

W plikach include'owanych:

Plik: class.email.php

[..]
	    //do some cleanup
	    $eol="\n";
	    $to=preg_replace("/(\r\n|\r|\n)/s",'', trim($to));
	    $subject=stripslashes(preg_replace("/(\r\n|\r|\n)/s",'', trim($subject)));
	    $body = stripslashes(preg_replace("/(\r\n|\r)/s", "\n", trim($message)));
	    $fromname=$this->getName();
	    $from =sprintf('"%s"<%s>',($fromname?$fromname:$this->getEmail()),$this->getEmail());
	    $headers = array ('From' => $from,
						  'To' => $to,
						  'Subject' => $subject,
						  'Date'=>date('D, d M Y H:i:s O'),
						  'Message-ID' =>'<'.Misc::randCode(6).''.time().'-'.$this->getEmail().'>',
						  'X-Mailer' =>'osTicket v 1.6',
						  'Content-Type' => 'text/html; charset="UTF-8"'
						  );
	    $mime = new Mail_mime();
	    $mime->setTXTBody($body);
	    //attachment TODO: allow multiple attachments - $attachment should be mixed parts.
	    if($attachment && $attachment['file'] && is_readable($attachment['file'])) { //file of mime type.
		    $mime->addAttachment($attachment['file'],$attachment['type'],$attachment['name']);
	    }
	    $options=array('head_encoding' => 'quoted-printable',
					   'text_encoding' => 'quoted-printable',
					   'html_encoding' => 'base64',
					   'html_charset'  => 'utf-8',
					   'text_charset'  => 'utf-8');
	    //encode the body
	    $body = $mime->get($options);
	    //encode the headers.
	    $headers = $mime->headers($headers);
[..]

Administracja, konfiguracja i zabezpieczenia serwerów Linux/Unix. - www.networkia.pl
Tani hosting SEO i serwery www - www.hoseo.pl
A??e?a?or ?ew??w - już wkrótce - www.grzebacz.pl i www.grzebacz.it

#6 regdos

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 1506 postów
  • Skąd:Poznań
  • Firma:regdos.com
  • Imię:Tomasz
  • Nazwisko:Regdos

Napisany 30 listopad 2011 - 13:15

Chodziło mi bardziej o wyplucie treści takiego maila żeby stwierdzić czy krzaki są zanim treść zostanie przekazana do funkcji wysyłkowej czy przed, przez co będziesz wiedział w którym miejscu szukać problemu.

$var['message']=utf8_encode(Format::stripEmptyLines($body)); 
Czyli wyświetlić $body, Format::stripEmptyLines($body) i utf8_encode(Format::stripEmptyLines($body)) i zobaczyć efekt.





1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników