• ベストアンサー

自分が作っているプログラムの文字コードについて

自分が作っているプログラムの文字コードについて perlにてプログラムを作っているのですが、プログラムの文字コードが何なのかよく分かりません。 自分が作っているプログラムの文字コードってどのようにして調べるのでしょうか? お恥ずかしいことだとは思いますが、自分が作っているプログラムの文字コードが分からないのです。。 ご回答の程、よろしくお願い致します。

  • rrr88
  • お礼率66% (79/119)
  • Perl
  • 回答数3
  • ありがとう数10

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

実体が本当のviだとすると、そもそもascii以外のコーディグに対応しているか、あやしいところです。 vimへのaliasやシンボリックリンクだったら :set fileencoding で現在の表示できる。 nvi でもできるかもしれない。 nkfがインストールされているなら nkf --guess 「判定したいファイル」 で判定できる。 perlを使っているなら、 Encode::Guess を使っての判定もできる。

rrr88
質問者

お礼

ご回答ありがとう御座います。 nkfが使えたため、無事判定することができました☆

その他の回答 (2)

回答No.3

>文字コードってどのようにして調べるのでしょうか? >自分が作っているプログラムの文字コードが分からないのです。。 いや『調べる』とか『分からない』とかそういう話じゃないでしょう。 どの文字コード(及び改行コード)で保存するかは、ご自分で決めるものです。 お使いのエディターで保存する際にどのコードで保存しているのでしょうか? 今まで何も意識せずにファイルの保存を行っていたとすると#1さんもおっしゃってますが、現在あなたの作成したスクリプトは多分( Win 機ならという条件が付きますが)Shift_JIS で改行コードが CR + LF だと思います。 ちなみに #!/usr/bin/perl print 'Content-type: text/html\n\n'; print '表示'; exit; こんなスクリプトをブラウザで表示させて『表示』が表示できなければ Shift_JIS で確定(゜∀゜) TeraPad や EmEditor などの Win 機での定番とも言えるテキストエディターでだと、ファイルを開いた際にステータスバーに現在開いているドキュメントの文字コードなどが表示されたりするんですけど…

  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

どんな環境でどんなエディタでやってますか? Windowsでメモ帳なら、まず間違いなくシフトJISです。

rrr88
質問者

補足

早々のご返信ありがとうございます。 環境はFreeBSDで、エディタはviを使用しています。

関連するQ&A

  • 文字コードについて

    perlプログラムのでtraceしてて、「HASH(0x815bb68)」 という文字コードがあったのですが意味を教えてください。 「0x」は16進数ということですよね。

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

    言語:perl 文字コード:UTF-8 漢字と英数字の長さ(文字数)を測りたいですけど、 調べる方法をご教授よろしくお願い申し上げます。

  • 文字コード変換プログラム

    こんにちは 文字コードを一発で2進数に変換してくれるプログラムを探しています。例えば A-->01000001 あ-->1000001010100000 16進数に変換してくれるプログラムって結構見つかりましたが なぜか2進数が見つかりませんでした。 (16進数を2進数に変換すれは良いのですが、できれば一発で…) プログラムを載せているサイトをご存知の方、宜しくお願いします。

  • 【文字コード】外見上は全く同じなのに生の文字コードが異なるのはなぜ?

    文字コードで行き詰まりました。 同じUTF8で全く同じ文字列であるにも関わらず(外見上は全く同じにも関わらず)、2つの生の文字コードが異なるということが起きて、どうしたらいいのかわかりません。 WEBサイトから「あいう」という文字を取り出してきて、そいつの文字コードを、生で表示させました。 すると、 E38182E38184E38186 になります。ところが、perl文の中で$testStr="あいう"; として、そいつを同じように16進数で表示させると、 304230443046 と、違うものになっています。 にも関わらず、「WEBからとってきた文字列」も「perl内で書いた文字列」も両方「Jcode::getcode()」でその文字コードを調べると、utf8になります。 しかも、それら両方とも、print()をすると、同じように「あいう」と表示されます。 「perl内で書いた文字列」の方では、問題なくDBに入れれるのですが、「WEBからとってきた文字列」の方は、文字化けします。 「WEBからとってきた文字列」を「perl内で書いた文字列」のような文字コードに変換するにはどうすればよいのでしょうか? なぜ同じUTF8として認識されているのでしょうか? もう気が狂いそうです。 どなたかお助けください。お願いします。 環境 Ubuntu perl v5.8.8 built for x86_64-linux-gnu-thread-multi 以下は詳しいソースです。 use utf8;#この質問に関係がありそうなモジュールです use Jcode; use DBI; use URI; use YAML; use Switch; use Web::Scraper; use HTTP::Request::Common; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Request::Common qw(POST); ##Webサイトから文字列「あいう」を取得してくる。取得過程は略してます。 $testStrFromWeb=@titleArr[$i];#ちなみにWebサイトの文字コードはUTF8です。 print("testStrFromWeb:".$testStrFromWeb);#「あいう」と表示されます。 ##Webサイトから得た文字列「あいう」の生の文字コードを表示。 $strCode=$testStrFromWeb; $strCode =~ s/(.)/sprintf "%X", ord($1)/eg; print "$strCode\n";#E38182E38184E38186と表示されます ##Webサイトから文字列「あいう」の文字コードの種類を表示(utf8が返ってくる) my $getcode = Jcode::getcode(\$testStrFromWeb); print $getcode ,"\n";#utf8と表示される ##perl内で書いた文字列。 $testStrInPerl="あいう"; print("testStrInPerl:".$testStrInPerl);#「あいう」と表示されます。 ##perl内で書いた文字列「あいう」の生の文字コードを表示。 $strCode=$testStrInPerl; $strCode =~ s/(.)/sprintf "%X", ord($1)/eg; print "$strCode\n";#304230443046と表示されます ##perl内で書いた文字列「あいう」の文字コードの種類を表示 my $getcode = Jcode::getcode(\$testStrInPerl); print $getcode ,"\n";#utf8と表示される ここまで読んでくださってありがとうございます。

    • ベストアンサー
    • Perl
  • 文字コードがどれも化ける。

    EUC-JP utf-8 shift-jis 3つとも日本語が文字化けするのですが どう対処すればいいでしょうか? ご回答の程、宜しくお願い申し上げます。

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

    Windowsでよく使う文字コードはSJISなのでこれについて調べたら shift-jis、cp932、Windows-31Jのような名称がある事がわかりました。 これらの違いは調べてわかったのですが、プログラムで文字コードを指定する時、プログラムによって上の文字を上の文字を使い分けなければいけませんがなぜこのような現象が起こるのですか? 各アプリケーションで指定する文字コード名を勝手に定めているように思えます。上の文字コードはISOやIANA等に登録されているみたいですが、文字コードを登録するための統一された一つの組織に登録するわけではないのですか? またエディタなどでこれらを区別する際にはどのようにして判別しているのですか? これらの質問のどれかが分かったらその質問だけで構わないので教えてください。

  • WordPressをutf-8以外の文字コードで動かす方法を教えてください

    WordPressを会社のサーバーに入れようと思っています。 しかし、わけあってPHPのphp.iniの設定を変更することができません。(現在の設定はshifft-jisになっている) どなたか、WordPressを別の文字コードで文字化けせずに動かす方法がありましたら教えていただけませんでしょうか。 もしくは、WordPressにだけPHPの文字コード設定を変えることはできませんでしょうか。 プログラム初心者で大変申し訳ございません。何卒、ご教授の程よろしくお願い致します。

  • Perlの文字コード

    1-2年ほど前、Perl5.8でソース自体をUTF8N(LF)で記述するようになり、 以下のように書いていました。 use utf8; use encoding "utf8"; use Encoding; それからPHPに移り、PHPでは、ソースはEUC-JP、DBもEUC、HTMLに出力する際もEUC-JPで統一していました。 最近またperlを使い出して疑問に思ったのですが、 perlではどのような文字コードで統一すれば一番よいのかということです。 javascriptはUTFだと動作しない端末(ザウルス)などあり、 perlもEUC-JPで統一しようと考えています。 昔、UTF8にこだわったのは、おそらく 「構」という文字は5Cなので、 文字コードによる不具合(ソース,js,cssで)を避けるためと、流行のUTF8にしたと思います。 perlでEUC-JPで文字コード統一させるメリットデメリットが知りたいです。 最近perlで書かれたサイトでHTML出力がShift_JISだったのですが、perlソースもシフトJISかは知りませんが、Shift_JISで統一するデメリットが知りたいです。 あと、WEBでどの文字コードが現在主流で、今後どうなるかも知りたいです。 EUC-JPで安泰なら、話は早いですが・・・

    • ベストアンサー
    • Perl
  • 文字コード

    こんにちは。 今回質問させていただきたいのは、名前の並び順についてです。 具体的に言うと、不特定な名前が多数あったとして、それを何らかの条件の下で並び替えをすると、「青木」「東北」「XTEND SG」などが上位に表示されます。 この並び順は恐らく文字コードか何かによって並び替えられていると思うのですが、その法則が分かりません。 お忙しいとは思いますが、ご回答の程、よろしくお願いします。

  • 文字コード? 推奨UTF-8?

    以前、EUC-JPの文字コードを使っていましたが、ホームページの文字コードをUTF-8に変えた後、 クッキーやフォーム(FORMタグ)が正しく動作しなくなりました。 Perl(Perlも5.6から5.8に変更)でCGI組んでいるのですが、何が原因なのでしょうか?

    • ベストアンサー
    • Perl

専門家に質問してみよう