0

こちら側で使用するメールフォームの文字セットを変更する必要があります: http://www.erik-dalsgaard.dk/kontakt/

次の文字を含める必要があります: Æ、æ、Ø、ø、Å、å

現在、メールを送信するときに出力される文字は、上記の文字ではなく Æ, ã ~, です。

メールフォームのphpは次のとおりです。

<?php



/*
Template Name: Contact
*/

get_header(); ?>


<?php 


//If the form is submitted
if(isset($_POST['submitted'])) {

    //Check to make sure that the name field is not empty
    if(trim($_POST['contactName']) === '') {
        $nameError = 'You forgot to enter your name.';
        $hasError = true;
    } else {
        $name = trim($_POST['contactName']);
    }

    //Check to make sure sure that a valid email address is submitted
    if(trim($_POST['email']) === '')  {
        $emailError = 'You forgot to enter your email address.';
        $hasError = true;
    } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
        $emailError = 'You entered an invalid email address.';
        $hasError = true;
    } else {
        $email = trim($_POST['email']);
    }

    //Check to make sure comments were entered  
    if(trim($_POST['comments']) === '') {
        $commentError = 'You forgot to enter your comments.';
        $hasError = true;
    } else {
        if(function_exists('stripslashes')) {
            $comments = stripslashes(trim($_POST['comments']));
        } else {
            $comments = trim($_POST['comments']);
        }
    }

    //If there is no error, send the email
    if(!isset($hasError)) {

        $emailTo = get_option_tree('pr_contact_email');
        $subject = 'Henvendelse fra hjemmeside fra '.$name;
        $msubject = trim($_POST['subject']);
        $body = "Navn: $name \n\nE-Mail: $email \n\nEmne: $msubject \n\nBesked: $comments";
        $headers = 'From: Besked fra hjemmeside <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;

        mail($emailTo, $subject, $body, $headers);

        $emailSent = true;

    }
}
?>
<?php get_header(); ?>

<div class="inner custom_content"> 

    <div class="content  <?php global_template(content); ?>"> 

        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>                    

        <?php if(the_content()){ ?>
        <div class="divider"></div>
        <?php } ?>

        <?php endwhile; endif; ?>

    <?php if(isset($emailSent) && $emailSent == true) { ?>

    <div class="form-success"> 
        <?php echo get_option_tree('pr_form_success'); ?>  
    </div>

    <?php } else { ?>

    <div class="form-success"> 
        <?php echo get_option_tree('pr_form_success'); ?> 
    </div>

        <form action="<?php the_permalink(); ?>" id="contactForm" class="big_form" method="post" accept-charset="UTF-8">

            <ul class="forms">
                <li>
                    <label for="contactName">Navn: *</label>
                    <input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="requiredField <?php if($nameError != '') { ?>hightlight<?php } ?>" />


                </li>

                <li><label for="email"><?php tr_translate(email); ?>: *</label>
                    <input type="text" name="email" id="email" value="<?php if(isset($_POST['email']))  echo $_POST['email'];?>" class="requiredField email <?php if($emailError != '') { ?>hightlight<?php } ?>" />                    

                </li>

                <li><label for="subject">Emne:</label>
                    <input type="text" name="subject" id="subject" value="<?php if(isset($_POST['subject']))  echo $_POST['subject'];?>" />                 

                </li>

                <li class="textarea"><label for="commentsText">Besked: *</label>
                    <textarea name="comments" id="commentsText" rows="8" cols="60" class="requiredField <?php if($commentError != '') { ?>hightlight<?php } ?>"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea>
                </li>               
                <li class="buttons">
                    <input type="hidden" name="submitted" id="submitted" value="true" />
                    <button type="submit" class="button light"><?php tr_translate(submit_contact); ?></button>
                    <div class="loading"></div>
                </li>
            </ul>
        </form>

    </div><!-- .content End --> 
    <!-- Content End -->    

<?php } ?>

<?php global_template(sidebar); ?> 

<?php get_footer(); ?>
4

1 に答える 1

0


この問題が発生する可能性がある場所は他にもありますが、最初に次のことを確認してください:
1. MySQL 5 が完全な UTF-8 文字をサポートしていない
2. 電子メール クライアント/ホストが完全な UTF-8 文字をサポートしていない

確認は簡単ですこの問題が検出された場合は、Web サイトやデータベースを確認してください。このプラグインを使用するか、同様のプラグインを検索してみてください。

悪い点は、問題が電子メール クライアント (例: Thunderbird や Outlook) または電子メール ホストから発生する可能性があることです。yahoo と gmail の両方の Web メールでは正常に表示される言語固有の文字で問題が発生しましたが、どの roundcube ホストでも表示されませんでした。キャラクターを「通常の」キャラクターに置き換えることになりました(uboveプラグインは試していません)。
文字を再コード化すると書かれているプラ​​グインを確認してください。
よろしく。

于 2013-03-01T15:03:49.367 に答える