Bug: Truncated email subject when contains accented characters
PHP Version
8.3
CodeIgniter4 Version
4.5.4
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Linux
Which server did you use?
cli
Database
No response
What happened?
Setting an email with accented characters in subject (eg : french accent : éàè...) removes n characters at the end of the subjet (n = number of accented chars).
This does not occur in the body.
Steps to Reproduce
Send an email with accented char in the subject :
$email = service('email');
$email->setFrom('[email protected]', 'Fred');
$email->setTo('[email protected]');
$email->setSubject('Email éé Test');
$email->setMessage('Testing the email class.');
$email->send();
Expected Output
Should send and email with the following subjet :
Email éé Test
But instead sends :
Email éé Te (missing 2 last chars)
Anything else?
Using php 8.3.9 under Alpine 1.20 docker container, and Gmail as SMTP.
Thank you for reporting.
But I cannot reproduce. The following test passes.
public function testEmailSubjectWithAccentedCharacters(): void
{
$config = config('Email');
$email = new MockEmail($config);
$email->setTo('[email protected]');
$email->setFrom('[email protected]');
$email->setSubject('Email éé Test');
$this->assertTrue($email->send());
$this->assertSame('Email éé Test', $email->archive['subject']);
}
Tested with a live version of Codeigniter 4.5.2. No characters are truncated. Could it be a characterset issue in the Email config? I also tested iso-8859-1 and Windows1252. Windows-1252 produces gibberish but doesn't truncate the subject line.
Closing due to no response.