mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #55511
[Bug 1836588] A change has been merged
Reviewed: https://reviews.mahara.org/10315
Committed: https://git.mahara.org/mahara/mahara/commit/ad1143dd1e452f9d28a55b613f4e10572fd510a3
Submitter: Robert Lyon (robertl@xxxxxxxxxxxxxxx)
Branch: master
commit ad1143dd1e452f9d28a55b613f4e10572fd510a3
Author: Mitsuhiro Yoshida <mits@xxxxxxxxxxx>
Date: Mon Sep 9 11:42:29 2019 +1200
Bug 1836588: Fix errors japanese character encoding
behatnotneeded
Change-Id: Ie65a2da1c4a6dadb05fb46d00feefb39a09bd754
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1836588
Title:
Multibyte comments broken
Status in Mahara:
Fix Committed
Status in Mahara 19.04 series:
Fix Committed
Status in Mahara 19.10 series:
Fix Committed
Bug description:
When we post English and Japanese comments on a page "Add comment"
field, only Japanese characters are corrupted as the attached
screenshot (mahara_comment.png).
We can fix the issue using mb_convert_encoding function as below.
Hopefully this fix helps Mahara multibyte character users.
---------------------------
Program file to modify:
artefact/comment/lib.php
Line number to modify;
1184
[ Before ]
/*
* Removes the classes from the text of the comment that could interfere
* with the comment display
* @param string $comment the text content of the comment
*/
public static function remove_comments_classes($comment) {
if (empty($comment)) {
return "";
}
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadHTML($comment, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($dom);
[ After ]
/*
* Removes the classes from the text of the comment that could interfere
* with the comment display
* @param string $comment the text content of the comment
*/
public static function remove_comments_classes($comment) {
if (empty($comment)) {
return "";
}
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
// $dom->loadHTML($comment, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
if (function_exists('mb_convert_encoding')) {
$dom->loadHTML(mb_convert_encoding($comment, 'HTML-ENTITIES', 'UTF-8'));
} else {
$dom->loadHTML($comment, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
}
$xpath = new DOMXPath($dom);
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1836588/+subscriptions
References