In certain cases when modifying a board with certain character sets will make the board name disappear and then unable to modify the board since it is blank
Issue Non SMF version of htmlspecialchars was used
Sources\ManageBoards.php(418)
$context['board']['name'] = htmlspecialchars(strtr($context['board']['name'], array('&' => '&')));
$context['board']['description'] = htmlspecialchars($context['board']['description']);
Change to
$context['board']['name'] = $smcFunc['htmlspecialchars'](strtr($context['board']['name'], array('&' => '&')));
$context['board']['description'] = $smcFunc['htmlspecialchars']($context['board']['description']);
What version of PHP?
I tested on PHP 7.1.x
elkarte was doing this on that line
$context['board']['name'] = htmlspecialchars(strtr($context['board']['name'], array('&' => '&')), ENT_COMPAT, 'UTF-8');
$context['board']['description'] = un_preparsecode($context['board']['description']);
Let me guess, you're not running UTF-8 (the default for htmlspecialchars since 5.4)
Guess not in my php.ini the default is empty it is commented out
; PHP's default character set is set to empty.
; http://php.net/default-charset
;default_charset = "UTF-8"
what about your database?
Confirmed. Issue is specifically with 4-byte characters, e.g.: 𣎏 世 咹 水 晶 𦓡 空 𣎏 害 咦
Issue also exists with category names, but at least you can update & fix the categories. You cannot fix the board names.
Logged as #75
2.1 works properly.
This is because it doesn't use $smcFunc's version of htmlspecialchars that dos multibyte fixing.
Yup.