perl の文字化けで当惑しています。print ”猫”; で化けます。で化けます。 v5.8.0 で、RedHat9 です。インストールのときに英語をdefault にしています。それが悪いのでしょうか?ファイル(下記は標準出力)から読んだのを出力するとばけません。while(<>){print $_.”¥n”;}

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2003/09/01 02:16:06
  • 終了:--

回答(6件)

id:inokuni No.1

いのくに回答回数1343ベストアンサー獲得回数212003/09/01 02:31:15

ポイント22pt

> Apache 1.3系では http のヘッダの部分には charset に関する情報が入ってなくて、Apache 2.0系では charset に関する情報が入ってるようで、 ディフォルトでは iso-8859-1 を返すようになっているので 文字化けが起きてしまうようなのだそうです。

> なので、httpd.conf を

> #AddDefaultCharset ISO-8859-1

> AddDefaultCharset SHIFT_JIS

> にした。

あるいは、「AddDefaultCharset ISO-8859-1 」を「#」でコメントアウトして Apache を再起動するだけでもいいかもしれません。

http://www.shtml.jp/mojibake/

ウェブマスターのための文字化け講座

参考

よく文字化けする文字「表示」とかとは違う原因みたいですね。

id:zanjibar

いえ。違います。上記は対応しています。コマンドライン上でやって化けます。

2003/09/01 02:45:56
id:inokuni No.2

いのくに回答回数1343ベストアンサー獲得回数212003/09/01 03:11:39

ポイント22pt

> インストールが完了した後で、言語設定を変更するには、言語設定ツールを使用します。

> シェルプロンプトでredhat-config-language とタイプして、言語設定ツールを起動します。

システム標準の言語を「Japanese」に変更されてみてはどうでしょう?

id:zanjibar

うーん、もう一歩でしょうか、Xが必要とでました。サーバ上なんで、

terminal 上でやりたいのですが。。。。。。

2003/09/01 03:15:07
id:arcana No.3

arcana回答回数120ベストアンサー獲得回数102003/09/01 03:29:50

ポイント30pt

同環境がありませんでしたが、RHL8.0+Perl5.008では文字が化けませんでしたので、実行環境に左右される問題かと思います。

上記URLを参考にお使いのシェルのロケールを一度EUC表示にされてみてはいかがでしょうか?

または、システム全体のサポートしている言語[/etc/sysconfig/i18n]を参照し、

LANG=”en_US”

SUPPORTED=”en_US:ja_JP.eucJP”

#LANGは既にUSかと思いますので、サポート項目のja_JP.eucJPを追加

日本語のサポートを追加してみてはいかがでしょう?

※システム変更に伴う、元設定ファイルのバックアップ等をお忘れ無く!

追記:システム変更にはリブートが必要だった記憶があります…

id:arcana No.4

arcana回答回数120ベストアンサー獲得回数102003/09/01 03:37:29

ポイント22pt

失礼しました、先ほどの追記です。

勝手にEUCとか話を進めてしまいましたが、ターミナルをお使いとの事なので、ターミナルで使用されている言語を指定してください。

TeraTermでしたら、setup>terminalのkanji項目2つをEUCの変更します(恒久的な変更の場合は、その後にsevesetupを選択)

id:aki73ix No.5

aki73ix回答回数5224ベストアンサー獲得回数272003/09/01 08:52:38

ポイント21pt

http://www.pcworld.com/

Reviews and News on Tech Products, Software and Downloads - PCWorld

URLはダミーです

猫の文字コードは

SJISで0x944c

EUCで0xc7AD

JISでは 0x472d

となりPERL上の文字コード(MULEなど)

の文字コードとSHの文字コードが異なってると化けることがあります

ためしにnkf フィルタを使ってみるといいかと思います

MULE上の文字セットの変え方は

M-x set-default-coding-system

M-x set-current-coding-system

M-x set-file-coding-system

M-x set-process-coding-system

M-x set-keyboard-coding-system

M-x set-display-coding-system

のどれかだったと思います(^^;

id:zanjibar

2003/09/01 11:07:03
id:gaba No.6

gaba回答回数90ベストアンサー獲得回数12003/09/01 09:44:36

ポイント30pt

http://www.hatena.ne.jp/list

人力検索はてな - 質問一覧

ターミナルと Perl スクリプトの文字コードの違いから生じる問題だと思います。

ターミナル上で

echo ”print ’猫’;” >> try.pl

perl try.pl

とかやるとうまくいきませんか?

出来上がった try.pl の文字コードを調べれば、必要な文字コードがわかるはずです。

id:zanjibar

やはり、だめです。とりあえず、ファイルから読み込んで、処理する仕方で対応しますが、不便なんで、

じっくり文字コードしらべて対応してみます。

英語を主にインストールしてはいけないということなんですね。。。。。とほほ

2003/09/01 11:11:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません