文字コードの変更方法について

このQ&Aのポイント
  • 文字コードの変更方法を教えてください。 プログラムの文字コードをutf-8からEUCに変更したいのですが、どのようにすれば良いですか?
  • xoopsでインストールしたファイルの文字コードを変更する方法を教えてください。 utf-8からEUCに変更したいのですが、うまくいきません。
  • ファイルの文字コードを変更する方法を教えてください。 現在はutf-8で設定されていますが、xoopsでEUCの設定に変更したいです。
回答を見る
  • ベストアンサー

文字コードの変更について

「文字コードの変更のやり方(xoopsでインストールしたファイルの文字変更)」のやり方が分かりません。下記プログラムの文字コードを変更したいのですが、どなた様かご教授頂ければ幸いです。 下記スクリプトは、utf-8の設定になっており、インストールしているxoopsがEUCの設定のため、文字化けしてしまいます。 そのため、「EUC」に変更したいのですが、 「<!DOCTYPE....> <...> <meta.....EUC-JP" />」 などと付け足すと、xoops内で当モジュールが見れなくなってしまいます。 他のモジュールは初めからEUCの設定なのでしっかり見れております。 ■スクリプト <{inquiry_settings mail=admin@example.com subject=お問合せ resrep=name,mail,note sendpm=1}> <{if $user}> <{inquiry_element name=name caption=名前 type=text required=1 from=name value=$user->get('uname')}> <{inquiry_element name=mail caption=メールアドレス type=email required=1 from=email value=$user->get('email')}> <{else}> <{inquiry_element name=name caption=名前 type=text required=1 from=name}> <{inquiry_element name=mail caption=メールアドレス type=email required=1 from=email}> <{/if}> <{inquiry_element name=note caption=内容 type=textarea required=1}> <{inquiry_element name=sex caption=性別 type=radio required=1 options=男,女,両 value=2}> <{inquiry_element name=job caption=職業 type=checkbox required=0 options=プログラマ,ニート,建築関係 value=0,2}> <{inquiry_element name=hoby caption=趣味 type=select required=0 options=読書,映画,サッカー,野球}> <{inquiry_auto table=true error=false}> <!-- 以下別に表示義務はありません。 --> <div style="text-align:right;color:#aaaaaa;font-size:11px;">Inquiry for XCL By Marijuana</div> ↑の ・プログラムを変更すべきなのでしょうか? もしくは、 ・ファイルの形式を変えればすむのでしょうか?(ファイル名は、inquiry_form.html です。) よくわからずに悩んでおります。 皆様ご多忙かとは思いますが、お力を貸して頂ければ大変嬉しいです。 何卒よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

そちらの環境も不明なのにやり方を教えて、と言われてもなんとも言いようがありませんが、Windowsでやるなら下記検索結果の2番目とか3番目とか。 http://www.google.co.jp/search?client=opera&rls=ja&q=%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89+%E5%A4%89%E6%8F%9B&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest なお、複数の文字コードに対応するテキストエディタを使って文字コードを変換するという手もあります。 おそらく本に書いてあるのはそういうことでしょう。

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

doctypeは「その型であると見なして処理をしろ」というだけなので、UTF-8のコードにEUC-JP指定をつけたらそりゃ不整合起きますね。 ftpでアップロードするときに一緒に文字コードを変更するとか、nkfで変換するとか色々手はあると思いますが、基本的には「そのファイルの文字コードをEUC-JPに変換する」方向でしょう。

kikansya_tomas
質問者

補足

ご回答ありがとうございます。 本を見ながらやっているのですが、 本によると、『「inquiry_form.html」「inquiry_form.html1」....など、5つの各ファイルの保存形式をEUCに変更します。デフォルトではUTF-8形式なので、xoops cube legacy2.1.8では文字化けします。 文字コード変更が終わったら、FTP転送でサーバーの「modules」にアップロードして!』 とだけ書いてあります。 肝心の変更方法が書いておらずに、「そのやり方」が色々調べても適しているものが見つからず、困っております。 大変恐れ入りますが、 >ftpでアップロードするときに一緒に文字コードを変更するとか、nkfで変換するとか色々手はあると思いま >すが、基本的には「そのファイルの文字コードをEUC-JPに変換する」方向でしょう。 とございますが、その具体的な、変更のスクリプトなどもご提示頂けると非常に嬉しく思います。 ご多忙かと思いますが、ご教授頂ければ幸いです。 よろしくお願い致します。

関連するQ&A

  • PHP初期文字コードの変更に伴うエラーについて

    現在サーバーをレンタルしてホームページを作っているのですが、 今回サーバーの契約を変更したことにより、 PHPの初期文字コードが【EUC-JP】から【UTF-8】に変更になりました。 これまでページ内で使っていたPHPのメールフォームでエラーがでるようになってしまいました。 構成としては、 mail.html(入力)→mail.php(確認画面&送信完了画面)と、 htmlからphpにデータを渡しています。 メールフォームの入力画面がから確認画面へいくとき、 名前や住所など、nameが日本語のものが表示されません。 <input name="郵便番号" id="zip" type="text" value="" size="10" /> 調べてみて、phpの最初に mb_language("Japanese"); mb_internal_encoding("EUC-JP"); と記述しましたが変化はありません。 現在あるメールフォームもフリーのフォームを拝借して少しだけ カスタマイズしているので、あまりPHPが分かりません。 どなたか教えていただけないでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • 文字コード変更による、文字化け・レイアウト崩れ

    文字コードをShift-jisからEUC-JPに変更したいのですが、 HTML・CSSに処理を施したら文字・レイアウトが大幅に崩れてしまいました。 以下のように変更したのですがやり方に間違いはないでしょうか? [HTML] <meta http-equiv="Content-Type" content="text/html; charset=Shift-jis"> ↓↓ <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> [CSS] @charset "shift_jis"; ↓↓ @charset "euc-jp"; また、ブラウザの表示⇒エンコードで(Shift_jis)を選択すると今までどおり正常に表示されます。(HTMLとCSSにはeuc-jpの記述にも関わらずです) これは文字コード変更したと思い込んでしまっているのでしょうか? 解決策お願いします。 あまり知識がありませんので、分かり易く教えていただけるとありがたいです。 ちなみにエディタはHTML Project2を使用しています。

  • 違う文字コードのページへFORMデータを送る時

    いつもお世話になっております。 EUC-JP のページからx-euc-jpのページへFORMを使いデータを渡しているのですが、どうも受け取り側で渡したデータが文字化けを起こしているようなのです。 原因が分かる方がいたら、ご教授下さい。 <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> <script type="text/javascript"> <!-- function sent2() { document.INPUT.submit(); } // --> </script> </HEAD> <BODY onload="sent2()"> <form name="INPUT" METHOD="POST" action="http://okwave.jp" ENCTYPE="text/plain"> <input type="hidden" name="arr1" value="555006303003"> </form> </BODY> </HTML>

  • メールフォームにある必須入力について

    こんばんは、今メールフォームを作っています。入力画面→確認画面→完了ページという流れで作ったのですがよく必須項目に何も入れなかったり、間違った文字をいれたりするとエラーページが表示されるようにしたいと思っているのですが、なかなか上手くできません。下記のスクリプトからだとどうやってやったら良いのでしょうか?よろしくおねがいします。 <?php if (! isset($_POST[btn1]) and! isset($_POST[btn2]) and! isset($_POST[cancel])) { //入力画面 $body = "必要な項目を入力して[OK]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:<INPUT size='40' type='text' name='name'><BR><BR> フリガナ:<INPUT size='40' type='text' name='kana'><BR><BR> 電話番号:<INPUT size='40' type='text' name='tel'><BR><BR> E-Mailアドレス:<INPUT size='40' type='text' name='email'><BR><BR> お問い合わせ内容:<BR><TEXTAREA rows='6' cols='40' name='inquiry'></TEXTAREA><BR><BR> <INPUT type='submit' name='btn1' value=' OK '> </FORM>"; } elseif (isset($_POST[btn1])) { //入力画面で[OK]がクリックされたとき $name = htmlspecialchars(stripcslashes($_POST[name])); $kana = htmlspecialchars(stripcslashes($_POST[kana])); $tel = htmlspecialchars(stripcslashes($_POST[tel])); $email = htmlspecialchars(stripcslashes($_POST[email])); $inquiry = htmlspecialchars(stripcslashes($_POST[inquiry])); $body = "ご入力した内容でメッセージを送信します。<BR> よろしければ[送信]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:$name<BR><BR> フリガナ:$kana<BR><BR> 電話番号:$tel<BR><BR> E-Mailアドレス:$email<BR><BR> お問い合わせ内容:<BR>" . nl2br($inquiry) . "<BR><BR> <INPUT type='submit' name='btn2' value=' 送信 '> <INPUT type='submit' name='cancel' value='キャンセル'> <INPUT type='hidden' name='name' value=\"$name\"> <INPUT type='hidden' name='kana' value=\"$kana\"> <INPUT type='hidden' name='tel' value=\"$tel\"> <INPUT type='hidden' name='email' value=\"$email\"> <INPUT type='hidden' name='inquiry' value=\"$inquiry\"> </FORM>"; } elseif (isset($_POST[btn2])) { //確認画面で[送信]がクリックされたとき //メールの送信処理を行う $name = stripcslashes($_POST[name]); $kana = stripcslashes($_POST[kana]); $tel = stripcslashes($_POST[tel]); $email = stripcslashes($_POST[email]); $inquiry = stripcslashes($_POST[inquiry]); $mailto = "kuma202000@yahoo.co.jp"; $mailsbj = "メールフォームからの送信"; $mailbody = "$name さんからのメールが届きました。\n" . "---------------------------------------------\n" . "名前:$name \n" . "フリガナ:$kana \n" . "電話番号:$tel \n" . "E-Mailアドレス:$email \n" . "メッセージ:$inquiry \n" . "---------------------------------------------\n"; mb_language("ja"); if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader)) { $body = "メールを送信しました。ありがとうございました。<BR><BR>"; } else { $body = "メールの送信に失敗しました。<BR><BR>"; } $body .= "<A href='$_SERVER[PHP_SELF]'>戻る</A>"; } elseif (isset($_POST[cancel])) { //確認画面で[キャンセル]がクリックされたとき header("location: $_SERVER[PHP_SELF]"); exit(); } ?> <HTML> <HEAD> </HEAD> <BODY> <?=$body?> </BODY> </HTML>

    • 締切済み
    • PHP
  • ブログの文字コードの変更?

    現在Movable typeにてブログを運営しています。 しかし、文字コードがUTF-8というものらしく、メールフォームやCGIをブログ内で使うと文字化けがおきてしまします。 そこでEUC-JPに変更することで回避できるとお聞きしたのですが本当でしょうか? また本当の場合、EUC-JPに変えたいのですが、途中から変えられるものでしょうか?変更方法等、ご存知の方はアドバイスいただけたら幸いです。 宜しくお願いいたします。

  • jquery.validate.jsについて

    jqueryで入力チェックを行うプログラムを実装したく、「jquery.validate.js」を利用したいと思っているのですが、inputのnameが配列の場合、うまく動作しません。 ご存知の方、いらっしゃいましたら、ご教授いただけると幸いです。 以下に動作しないコードを貼り付けます。 尚、下記コードで「[]」を取り除いて実行すると正常に動作するため、nameに配列を指定するのが問題であると考えています。 どなたか、よろしくお願いいたします。 <form method="post" id="check_form1"> 名前 <input name="name[]" type="text" id="name"> メール <input name="mail[]" type="text" id="mail"> <input type="submit" name="Submit" value="Submit"/> </form> <!-- 入力チェック --> <script type="text/javascript" src="js/jquery.validate.js"></script> <script type="text/javascript"> $(function(){ $("#check_form1").validate({ rules: { name[] :{ required: true }, mail[] :{ required: true, email: true } }, messages: { name[] :{ required: "お名前を入力してください" }, mail[] :{ required: "メールアドレスを入力してください", email: "正しいメールアドレスを入力してください" } } }); }) </script>

  • form変数の初期化

    <br /><b>Notice</b>: Undefined index: your_name in <b>C:\xampp\htdocs\test\index.php</b> on line <b >83</b><br /> 入力画面で上記のエラーが解決しません。 どうすればいいでしょうか? 入力画面 <?php $_POST = array(); ?> <form method="post" action="./form_check.php"> <div class="element_wrap"> <label>氏名</label> <input type="text" name="your_name" value="<?php echo $_POST["your_name"]?>"> </div> <div class="element_wrap"> <label>メールアドレス</label> <input type="text" name="email" value=""> </div> <input type="submit" name="btn_confirm" value="入力内容を確認する"> </form> 確認画面 <?php $your_name = $_POST["your_name"]; ?> <form method="post" action="./test.php"> <div class="element_wrap"> <label>氏名</label> <p><?php echo $your_name; ?></p> </div> <div class="element_wrap"> <label>メールアドレス</label> <p><?php echo $_POST['email']; ?></p> </div> <input type="submit" name="btn_submit" value="送信"> </form> <form method="post" action="./index.php"> <!--<input type="button" name="btn_back" onclick="history.back()" value="戻る">--> <input type="submit" name="btn_back" value="戻る"> <input type="hidden" name="your_name" value="<?php echo $_POST['your_name']; ?>"> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> </form>

    • 締切済み
    • PHP
  • メールの文字化けについて

    お世話になっております。 phpを利用し、Postfixにてメールを送信するプログラムを作成しました。 しかしながら、下記プログラムではタイトルに"日本語"を入れた場合、 "ThunderBird"でメールを受け取ると、 "◆◆◆◆◆◆◆◆◆◆"のように文字が化けてしまいます(本文は文字化けしません。)。 しかし、YahooWebメールではタイトル・本文に関わらず正常に文字が出力されます。 どの部分を修正すれば、日本語タイトル文を 文字化けさせず表示させることができるでしょうか? サーバの文字コードは"EUC"となっています。 ご教授のほどよろしくお願いします。 // メール送信元を指定 $from = "mail"; $title = "メール届きましたか?"; // BCC値を決定します。 // メール本文を組み立てます。 $headers .= "From: $from\r\n"; $headers .= "Bcc: aiai@ngmail.com\r\n"; $headers .= ('Content-Type:text/html; charset=EUC-JP'); // 本文の値を決定します。 //$title2 = "=?iso-2022-jp?B?".base64_encode($title)."?="; $naiyou2 = "仮ユーザID:$name\n 仮パス:$yoyakusha<br> メールアドレスfrom:$from<br> メールアドレスto:$email<br> @ペイにて登録したユーザID:$title\n"; mail($email, $title, $naiyou2, $headers);

    • 締切済み
    • PHP
  • htmlが文字化け

    掲題の件について質問させて頂きます。 linuxサーバ(CentOs5)を立ち上げて、apacheをインストールし、DocRootにhtmlファイルをFFFTPにてアップロードした所、文字化けが発生してしまいました。(画面が真っ白になります) 【環境】 Server: Apache/2.2.6 (Unix) mod_ssl/2.2.6 or_log PHP/5.1.6 【アップロードしたファイル内容】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>ここにタイトルを挿入</title> </head> <body> <form method="post" action="input_check.php" name="input_check"> <input type"text" name="name">お名前: <input type"text" name="furigana">ふりがな: <input type="submit" name="send" value="submit"> </form> </body> </html> ファイルはEUC-JPにて記述しています。 以下試した点をあげてみます。 1. charsetをShift_JISに変更。 ⇒ファイルがEUC_JPで書かれているので当然文字化け。ですが文字化けされた文字は表示されました。(画面が真っ白ではないです。) 2. apacheのhttpd.confのAddDefaultCharsetをコメントアウト ⇒(というよりデフォルトで設定されていませんでした。) 他に何か怪しまれる点はありますでしょうか? 以上宜しくお願い致します。

  • メールフォームのPHPについて質問です。

    以下のようなメールフォームを作ったのですが何故か値の受け渡しが上手くいきません。 以前どこかのサイトを参考にして作ったもので別で自分の作ったサイトでは問題なく受け渡しができたのですが、なぜか今回はできません。 自分が作って成功したサイトをそのままサーバーにアップロードしても出来ないのがよくわからないのです。 どうすれば受け渡しがうまくいくのでしょうか? どなたか知恵を分けていただきたいです。何卒よろしくお願いいたします。 ▼ここからinquiry.html▼ <div id="main_inquiry"> <div id="box_inquiry"> <h1>お問い合わせ</h1> <div id="form"> <form method="POST" action="inquiry_check.php"> <p class="form">お名前</p> <p class="text"><input type="text" name="name" size="50"><br></p> <p class="form">電話番号</p> <p class="text"><input type="text" name="tel" size="50"><br></p> <p class="form">Eメール</p> <p class="text"><input type="text" name="email" size="50"></p><br> <p class="form">備考</p> <p class="text"><textarea name="bikou" cols="50" rows="10"></textarea></p> </div> <!---------form-END------------------------------> <div id="submit"> <input type="submit" value="確認" class="submit"> <input type="reset" value="リセット" class="reset"> </div> <form method="POST" action="inquiry_check.php"> </div> ▲inquiry.html終了▲ ▼ここからinquiry_check.php▼ <div id="box_check"> <h1 class="headding11">問い合わせチェック</h1> <?php $name=htmlspecialchars($_POST["name"]);// if ($name == ""){ $show_name = "<font color='#000'><strong>名前が入力されていません</font></strong>"; $err_flg = 1; } else { $show_name = $name; } $tel=htmlspecialchars($_POST["tel"]);// if ($tel == ""){ $show_tel = "<font color='#000'><strong>電話番号が入力されていません</font></strong>"; $err_flg = 1; } else { $show_tel = $tel; } $email=htmlspecialchars($_POST["email"]);// if ($email == ""){ $show_email = "<font color='#000'><strong>e-mailが入力されていません</font></strong>"; $err_flg = 1; } else { $show_email = $email; } $bikou=htmlspecialchars($_POST["bikou"]);// if ($bikou == ""){ $show_bikou = "<font color='#000'><strong>備考が入力されていません</font></strong>"; $err_flg = 1; } else { $show_bikou = $bikou; } if ($err_flg == 1){ $show_form = ""; } else { $show_form = " <input name='name' type='hidden' value='". $name ."'> <input name='tel' type='hidden' value='". $tel ."'> <input name='email' type='hidden' value='". $email ."'> <input name='bikou' type='hidden' value='". $bikou ."'> <input name='submit' type='submit' value='送信' class='soushin'> "; } ?> <form name="mailform" method="post" action="inquiry_finish.php"> <P align="center"><b class="kakunin">お客様情報確認</b></P> <table class="check" width="685px" border="0" cellspacing="1" cellpadding="5"> <tr> <td bgcolor="#EBEBEB" width="200"> 氏名</td> <td width="540"><? echo $show_name ?></td> </tr> <tr> <td bgcolor="#EBEBEB"> 電話番号<font color="#FFFFFF">  </font></td> <td><? echo $show_tel ?></td> </tr> <tr> <td bgcolor="#EBEBEB"> 電子メール</td> <td ><? echo $show_email ?></td> </tr>  <tr> <td bgcolor="#EBEBEB"> お問い合わせ内容</td> <td ><? echo $show_bikou ?></td> </tr> </table> <div align=""> <? echo $show_form ?> <input name="submit" type="button" value="戻る" class="mouse" onClick="history.back()"> </div> </div> <div id="side_menu_check"> </div> </div> <div id="footer"> </div> ▲inquiry_check.php終了▲

    • ベストアンサー
    • PHP

専門家に質問してみよう