diff --git a/lib/private/util.php b/lib/private/util.php
index 68b248f000307ea6d242824038387c803074abd9..7c4a1173082d7e255cc854e670b613b0668aade5 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -651,6 +651,7 @@ class OC_Util {
 			'ini' => [
 				'mbstring.func_overload' => 0,
 				'output_buffering' => false,
+				'default_charset' => 'UTF-8',
 			],
 		);
 		$missingDependencies = array();
@@ -684,6 +685,11 @@ class OC_Util {
 					$invalidIniSettings[] = [$setting, $expected];
 				}
 			}
+			if(is_string($expected)) {
+				if(strtolower($iniWrapper->getString($setting)) !== strtolower($expected)) {
+					$invalidIniSettings[] = [$setting, $expected];
+				}
+			}
 		}
 
 		foreach($missingDependencies as $missingDependency) {
@@ -1501,13 +1507,4 @@ class OC_Util {
 		}
 	}
 
-	/**
-	 * Check if PhpCharset config is UTF-8
-	 *
-	 * @return string
-	 */
-	public static function isPhpCharSetUtf8() {
-		return strtoupper(ini_get('default_charset')) === 'UTF-8';
-	}
-
 }
diff --git a/settings/admin.php b/settings/admin.php
index 9f39936fe7b6b940d039ffe384148eaeb3386852..fc2df77eae166181ae2defb13d87266951853c7d 100644
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -65,7 +65,6 @@ $template->assign('doesLogFileExist', $doesLogFileExist);
 $template->assign('showLog', $showLog);
 $template->assign('readOnlyConfigEnabled', OC_Helper::isReadOnlyConfigEnabled());
 $template->assign('isLocaleWorking', OC_Util::isSetLocaleWorking());
-$template->assign('isPhpCharSetUtf8', OC_Util::isPhpCharSetUtf8());
 $template->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking());
 $template->assign('has_fileinfo', OC_Util::fileInfoLoaded());
 $template->assign('backgroundjobs_mode', $appConfig->getValue('core', 'backgroundjobs_mode', 'ajax'));
@@ -116,7 +115,7 @@ $forms = OC_App::getForms('admin');
 $l = OC_L10N::get('settings');
 $formsAndMore = array();
 if ($request->getServerProtocol()  !== 'https' || !OC_Util::isAnnotationsWorking() ||
-	$suggestedOverwriteCliUrl || !OC_Util::isSetLocaleWorking() || !OC_Util::isPhpCharSetUtf8() ||
+	$suggestedOverwriteCliUrl || !OC_Util::isSetLocaleWorking()  ||
 	!OC_Util::fileInfoLoaded() || $databaseOverload
 ) {
 	$formsAndMore[] = array('anchor' => 'security-warning', 'section-name' => $l->t('Security & Setup Warnings'));
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index 1f7eacd746baf9eb73862cc5ae251f2a679a51cd..a82d5ee8545a211f4f14fb86b2eaebeccd367f8b 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -175,20 +175,6 @@ if (!$_['has_fileinfo']) {
 <?php
 }
 
-// is PHP charset set to UTF8?
-if (!$_['isPhpCharSetUtf8']) {
-	?>
-	<div class="section">
-		<h2><?php p($l->t('PHP charset is not set to UTF-8'));?></h2>
-
-		<span class="connectionwarning">
-		<?php p($l->t("PHP charset is not set to UTF-8. This can cause major issues with non-ASCII characters in file names. We highly recommend to change the value of 'default_charset' php.ini to 'UTF-8'.")); ?>
-	</span>
-
-	</div>
-<?php
-}
-
 // is locale working ?
 if (!$_['isLocaleWorking']) {
 	?>