MDL-41197 normalize ascii text conversion

This commit is contained in:
Petr Škoda 2013-10-07 21:57:07 +02:00 committed by Eloy Lafuente (stronk7)
parent 8050eec577
commit e734d8850c
2 changed files with 10 additions and 1 deletions

View File

@ -185,6 +185,11 @@ class core_text {
}
}
if ($toCS === 'ascii') {
// Try to normalize the conversion a bit.
$text = self::specialtoascii($text, $fromCS);
}
// Prevent any error notices, do not use //IGNORE so that we get
// consistent result from Typo3 if iconv fails.
$result = @iconv($fromCS, $toCS.'//TRANSLIT', $text);

View File

@ -90,8 +90,12 @@ class core_text_testcase extends advanced_testcase {
$this->assertSame($utf8, core_text::convert($utf8, 'utf-8', 'utf-8'));
$utf8 = "Žluťoučký koníček";
$this->assertSame('Zlutouck\'y kon\'icek', core_text::convert($utf8, 'utf-8', 'ascii'));
$this->assertSame('Zlutoucky konicek', core_text::convert($utf8, 'utf-8', 'ascii'));
$this->assertSame($utf8, core_text::convert($utf8.chr(130), 'utf-8', 'utf-8'));
$utf8 = "Der eine stößt den Speer zum Mann";
$this->assertSame('Der eine stoesst den Speer zum Mann', core_text::convert($utf8, 'utf-8', 'ascii'));
$iso1 = core_text::convert($utf8, 'utf-8', 'iso-8859-1');
$this->assertSame('Der eine stoesst den Speer zum Mann', core_text::convert($iso1, 'iso-8859-1', 'ascii'));
}
/**