• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字コードが正常に変換されません。【Ruby】)

文字コード変換に関する問題【Ruby】

このQ&Aのポイント
  • 質問文章では、Rubyで文字コードを変換する際に問題が発生しています。指定のファイルを読み込み、配列に格納していく場合、ブラウザで表示すると文字コードが正常に変換されない現象が発生しています。
  • RubyのKconvモジュールを使用して文字コードを変換してみましたが、うまくいきませんでした。fnameファイルはEUCで日本語が正常に表示されており、cgiが生成するhtmlのContent-Typeも正しく設定されています。
  • 現在の環境はdebian3.0+apache1.3.26です。文字コード変換の問題を解決するためには、別の方法や設定を試す必要があるかもしれません。

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

  • ベストアンサー
回答No.1

先頭に $KCODE="EUC"#UNIXの場合 といれてみては?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 特定ファイルのみ文字コード変換

    現在PHP5を文字コードUTF-8で使っているのですが あるphpファイルのみSJISで出力したくて色々調べphp.iniを設定したのですが、どんなに強引(無謀)な方法を使ってもブラウザで表示すると文字コードがUTF-8で認識されてしまいます。 (mbstring.detect_order default_charset mbstring.http_output などを色々変更して試しました。) <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />も記述しています。 SJISで出力させたいファイルの保存文字コードはSJISです。 .htaccess でのフォルダ単位の指定も試したのですがダメでした。 phpファイル内に下記を記述してもダメでした。 header('content-type:text/html; charset=Shift_JIS'); 試しに $test $test2 = mb_convert_encoding($test ,'Shift_JIS' ,'UTF-8'); なども試してみたのですが、何をやってもブラウザはUTF-8と認識してしまうため文字化けしてしまいます。 apacheの設定で AddDefaultCharset は設定していません。 php.iniの設定は素人なりにですがやりつくしたと思うのですが・・・httpd.conf なのかと思って調べても見たのですがUTF-8の記述すらありませんでした。 ちなみに普通のhtmファイルの場合はmetaタグの文字コードをSJIS指定しただけで正しくSJISで表示されます。 ・・・というような状態なのですが、ブラウザにUTF-8と強制的に認識させてしまう設定はどこでされてしまっているのでしょうか? ・・・やはりphp.iniなのでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 文字コード指定について

    中国の無料HPスペースにPHPをアップロードしてテストしていますが、文字コードでどうしても引っかかります。 利用しているサイトはここ http://51j.cn/ PHPファイル中にヘッダに <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=EUC-JP"> と指定しているにもかかわらず、ブラウザで開くと「簡体字中国語」が指定されてしまいます。 どうにかEUC-JP にしたいのですが、何か方法はあるでしょうか。

    • ベストアンサー
    • PHP
  • Rubyの変数を含んだ正規表現について

    下のように正規表現でlineと 1=,2=などから始まる行を抽出する プログラムですが、どうやら正規表現の左辺(//の中身) には変数は使えないようです。iが文字として 認識されているようです。 解決策を教えてください。 while line = io.gets  20.times{ |i|   if /^i=(.*)/ =~ line   p $1  } end

  • NN7.1での日本語ファイル名の文字化けについて

    似たような問題はあったのですが、解決できないの質問させて下さい。 PHPで、 $fname = mb_convert_encoding($fname, "SJIS","EUC-JP"); header("Content-Type: application/x-msdownload"); header("Content-Disposition: fname=\"$fname\""); としてheaderを送り、ファイルダウンロードを行っているのですが、 NN7.1でダウンロードしようとするとファイル名が文字化けしてしまいます。 IEであれば問題なくダウンロードできるのですが…。 ネット検索したり、RFCを見たりはしたのですが解決できませんでした。 HTTP_USER_AGENTを調べてブラウザ別に対処することも考えていますが、 とにかくNNに対応できず困っております。 ご教授いただければ幸いです。よろしくお願い致します。

    • 締切済み
    • PHP
  • 背景画像を貼り付けるhtmlコードはどこに貼り付ければいいんですか?

    コードはわかるんですが、どこに貼り付けたらいいのか教えてください。 ようするに最初は <html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> <title>無題</title> <meta name="generator" content=" 6.0.0.49"> </head> <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <p style="line-height:150%;">&nbsp;</p> </body> </html> となっているんですが、このなかのどこに挿入したらいいのかおしえていただきたいです。

  • 携帯サイトでの文字コード

    携帯サイトでは文字コードはSJIS推奨とのことなので、 ブラウザへの出力となるecho文やHTMLでの記述は全て$strに代入し、 mb_convert_encording($str,SJIS); (ファイル保存EUC) と、したのですが表示がうまくいきません。 ちなみに、METAタグ内をeuc-jpとすると表示が文字化けし、 Shift-JISとすると画面が真っ白になってしまいます。 どなたか情報をお持ちでしたらどうか宜しくお願いします!

    • ベストアンサー
    • PHP
  • 文字コードについて

    外国にあるフリーのテンプレートを使ってみたいのですが文字化けしてしまい困っています。 初期は <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EU" /> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> でしたが下のように書き換えたのですが? <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="jp" lang="EUC-JP" /> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> Flashだからでしょうか index.htmlとは別にtxt.htmlの2つのhtmlがあるのですがtxt.htmlに表示内容が載っています。 どうすれば文字コードを変えることができるのでしょうか? http://www.flashtemplatesdesign.com/free_flash_templates/metamorph_flash98/ ※上記URLは著作権者に帰属します。 詳しい方よろしくお願いします。

  • IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。

    IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。 WindowsXPのIISをWEBサーバとして利用しております。 http://localhost/test.phpを開いた際、必ず文字コードがSJISとなります。 そのページのメタタグには間違いなくキャラクタセットをEUCにする指定がされています。 そこでブラウザの機能で、エンコードをEUCに変更すると正常に表示されますが、 ページ移動するとまたSJISとなり、同じくエンコードを変更しなければなりません。 IISの設定かとは思うのですが、解決方法が見つかりません。 お教えいただけると助かります。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • HTML・PHPの文字化け

    こんにちは。 PHPとMySQLを使ってショッピングカートを作ろうと思ったのですが、しょっぱなから躓いてしまいました・・・。 index.htmlでメタを <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> とeuc-jpにしたのですが、サーバーにアップすると文字化けしてしまいます。 表示のエンコードで確認するとシフトーJisになっています。eucにするとちゃんと表示されるのですが、更新するとやはり文字化けします。PHP・MySQLがeucですので、困っています。 どうにか対処方法はないでしょうか?ご教授をよろしくお願いします。

    • ベストアンサー
    • HTML
  • perlでHTML出力時の文字コード

    Perlスクリプト中でHTML出力しているのですが、print "Content-type: text/html\n\n";と記述するとEUCで正常に表示され、print "Content-type: text/html; charset=Shift_JIS\n\n";と明示的にSJISを指定すると空白ページが表示されてしまいます。このスクリプトの他の場所ではprint "Content-type: text/html; charset=Shift_JIS\n\n";で正常にSJISで表示されます。どうしてだかわかりません。どなたかご教授お願いします。