The SyntaxHighlighter WordPress plug-in is used to display code ‘as is’; unfortunately WordPress again is too clever for its own good and mangles special characters like & and ” even before the text gets to the SyntaxHighlighter blocks in the Block Editor.
The solution is to add a filter function in your custom functions.php file:
function my_syntaxhighlighter_precode( $code, $atts, $tag ) {
if ( 'code' === $tag ) {
$code = wp_specialchars_decode( $code, ENT_QUOTES );
}
return $code;
}
add_filter( 'syntaxhighlighter_precode', 'my_syntaxhighlighter_precode', 10, 3 );
Source links:
https://developer.wordpress.org/reference/functions/wp_specialchars_decode/
https://developer.wordpress.org/reference/functions/wp_specialchars/
https://stackoverflow.com/questions/43291221/syntaxhighlighter-evolved-3-2-1-plugin-converted-to-amplt
https://wordpress.org/support/topic/ampersand-character/