I'm interning at a company and my job is to fix glitches on their website.
I'm trying to explain this as well as I can.
On the edit page of projects for some reason the sign does not show properly.
I got this partly fixed.
This is what the code looked like
PHP Code:
        if($key != 'title')
        {
            
$value utf8_decode($value);
        }
        
        
// title and content are post properties so they are updated differently
        
if($key == 'title')
        {
            
$newpost = array();
            
$newpost['ID'] = $pid;
            
$newpost['post_title'] = $DRAFT_STRING $value;
            
wp_update_post($newpost);
        }
        elseif(
$key == 'content')
        {
            
$newpost = array();
            
$newpost['ID'] = $pid;
            
$newpost['post_content'] = stripslashes(htmlentities($value));
            
wp_update_post($newpost);
        }
        elseif(
$key == 'category')
        {
            
wp_set_post_categories($pid, Array($value));
        }
        else
        {
            
// We are dealing with metadata
            
$value stripslashes(htmlentities($value));
            
update_post_meta($pid$key$value);
        }
        
        
// If we are dealing with video, format tags
        
if($key == 'Video'$value stripslashes(htmlentities($value));
        
        if(
$key == 'content' || $key == 'info'
        {
            
$value apply_filters('the_content'$value);
            
$value utf8_encode($value);
        } 
So I tried to change the utf-8_decode to iconv("UTF-8", "CP-1252", $value); but had little success.
What I found out to work was this

PHP Code:
if($key != 'title')
        {
            
htmlentities($valueENT_QUOTES|"ENT_HTML5""UTF-8"true);
        }
        
        
// title and content are post properties so they are updated differently
        
if($key == 'title')
        {
            
$newpost = array();
            
$newpost['ID'] = $pid;
            
$newpost['post_title'] = $DRAFT_STRING $value;
            
wp_update_post($newpost);
        }
        elseif(
$key == 'content')
        {
            
$newpost = array();
            
$newpost['ID'] = $pid;
            
$newpost['post_content'] = stripslashes(htmlentities($valueENT_QUOTES|"ENT_HTML5""UTF-8"true));
            
wp_update_post($newpost);
        }
        elseif(
$key == 'category')
        {
            
wp_set_post_categories($pid, Array($value));
        }
        else
        {
            
// We are dealing with metadata
            
$value stripslashes(htmlentities($valueENT_QUOTES|"ENT_HTML5""UTF-8"true));
            
update_post_meta($pid$key$value);
        }
        
        
// If we are dealing with video, format tags
        
if($key == 'Video'$value stripslashes(htmlentities($value));
        
        if(
$key == 'content' || $key == 'info'
        {
            
$value apply_filters('the_content'$value);
            
$value utf8_encode($value);
        }
        
        echo 
$value;
    } 
But as I save the forms instead of a euro sign there is a €. But on one of the forms it shows the sign. And as I refresh the € has changed to a .

Hope I was clear enough, thanks!