utf8 conversion for arrays

This commit is contained in:
Steffen Schröder 2014-06-26 11:13:59 +02:00
parent 55efbc437f
commit 73148364e0
2 changed files with 16 additions and 9 deletions

View File

@ -113,7 +113,7 @@ class ErrorHandler {
// Report error // Report error
$report = array(); $report = array();
$report['Type'] = 'Error'; $report['Type'] = 'Error';
$report['Message'] = Formatter::utf8($message); $report['Message'] = $message;
if ($fileLine) { if ($fileLine) {
$report['FileLine'] = $this->stripBaseDir($fileLine); $report['FileLine'] = $this->stripBaseDir($fileLine);
} }
@ -138,7 +138,7 @@ class ErrorHandler {
$report['ManiaControlVersion'] = ManiaControl::VERSION; $report['ManiaControlVersion'] = ManiaControl::VERSION;
} }
$json = json_encode($report); $json = json_encode(Formatter::utf8($report));
$info = base64_encode($json); $info = base64_encode($json);
$url = ManiaControl::URL_WEBSERVICE . 'errorreport?error=' . urlencode($info); $url = ManiaControl::URL_WEBSERVICE . 'errorreport?error=' . urlencode($info);
@ -314,7 +314,7 @@ class ErrorHandler {
$type = gettype($arg); $type = gettype($arg);
$string .= $type . '('; $string .= $type . '(';
if (is_string($arg)) { if (is_string($arg)) {
$param = Formatter::utf8($arg); $param = $arg;
if (strlen($param) > 20) { if (strlen($param) > 20) {
$param = substr($param, 0, 20) . '..'; $param = substr($param, 0, 20) . '..';
} }
@ -430,7 +430,7 @@ class ErrorHandler {
if (!DEV_MODE) { if (!DEV_MODE) {
$report = array(); $report = array();
$report['Type'] = 'Exception'; $report['Type'] = 'Exception';
$report['Message'] = Formatter::utf8($message); $report['Message'] = $message;
$report['Class'] = $exceptionClass; $report['Class'] = $exceptionClass;
$report['FileLine'] = $exception->getFile() . ': ' . $exception->getLine(); $report['FileLine'] = $exception->getFile() . ': ' . $exception->getLine();
$report['SourceClass'] = $sourceClass; $report['SourceClass'] = $sourceClass;
@ -450,7 +450,7 @@ class ErrorHandler {
$report['ManiaControlVersion'] = ManiaControl::VERSION; $report['ManiaControlVersion'] = ManiaControl::VERSION;
} }
$json = json_encode($report); $json = json_encode(Formatter::utf8($report));
$info = base64_encode($json); $info = base64_encode($json);
$url = ManiaControl::URL_WEBSERVICE . 'errorreport?error=' . urlencode($info); $url = ManiaControl::URL_WEBSERVICE . 'errorreport?error=' . urlencode($info);

View File

@ -178,6 +178,13 @@ abstract class Formatter {
* @return string * @return string
*/ */
public static function utf8($text) { public static function utf8($text) {
return mb_convert_encoding($text, 'UTF-8'); if (is_array($text)) {
$newArray = array();
foreach ($text as $key => $value) {
$newArray[$key] = self::utf8($value);
}
return $newArray;
}
return mb_convert_encoding($text, 'UTF-8', 'UTF-8');
} }
} }