• ベストアンサー

【Redhat】SJISにおける文字化け

OS:Redhat Linux ES 4.6 文字コードをSJISにしてファイルを表示しますと、特定の日本語文字(例えば、II)が 文字化けしてしまいます。 何が原因なのでしょうか。。。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4843/10252)
回答No.2

>同じ文字でもcatコマンドでファイルの中身を表示すると正常に表示されるのですが、 >ls表示でファイルをリストすると文字化けしてしまいます。 何という文字がどう化けるのかの情報がないので、当てずっぽうで答えるしかないですが、 ls --show-control-chars でどうでしょう。 SJISはコントロールコードの部分に文字を割り当ててるので、コントロールコードを特別処理するプログラムとは相性が悪いです。

rere2006
質問者

お礼

ls --show-control-charsを実行したところ文字化けせずに 表示されるようになりました。 SJISだと色々と問題が出るんですね。 ありがとうございます!!

その他の回答 (1)

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

>特定の日本語文字(例えば、II) ローマ数字の2ならば、JISの第一水準・第二水準にないからでしょう。 Microsoftの独自拡張文字ですね。

rere2006
質問者

補足

同じ文字でもcatコマンドでファイルの中身を表示すると正常に表示されるのですが、 ls表示でファイルをリストすると文字化けしてしまいます。 何か回避策はないのでしょうか?

関連するQ&A

  • linux(redhat9)の文字化けを直したい

    redhat8からredhat9へバージョンアップしました。 Xは入れていません、telnetを使わずに直接サーバへログオンしてます。 日本語は使っていませんのでkonを使うことはありません。 ls -laで一部文字化けします。 drwxr-xr-x 2 root root 4096 6** 10 09:29 ↑この部分文字化け あとls -la|moreでも、画面下の白反転したmoreと表示される部分が 文字化けしています。 以下2つのコマンドを入れてみましたが、現象は変わらずでした。 LANG=ja export LANG=ja_JP.sjis 他に何か方法があれば教えて下さい。

  • Redhat Linux5の文字化け

    Redhat Linux5をインストールするとき、インストールパッケージの選択が可能ですが、デフォルトで選択されている『日本語のサポート』のチェックを外してインストールすると、日本語(漢字とひらがな)って文字化けしますか? チェックを外してインストールしたら、カタカナ以外が文字化けしてしまって。。。 最初の言語選択は『日本語』にしたはずなのですが、もしかしたらそこでミスしてしまったのかどうなのか…。。 よろしくお願いします。

  • FTP 文字化け

    FTPを使って、自宅サーバーから友人にファイルを配りたいと思っているのですが 日本語ファイル名が文字化けしていたり、表示自体されません。 FTPサーバーはProFTPd、クライアントはブラウザからダウンロードしようと考えています。 サーバーのOSはvine linux5.4です。 DLする側の文字コードなどを変更しないで文字化けさせない方法はありませんか?? Linux自体のシステムの文字コードを変えればいいのでしょうか? それともファイル名を半角に変更するしかないのでしょうか?? 回答お願いします・・

  • UTC-8→SJISで文字化け

    こんにちわ!宜しくお願い致します。 現在、オープンソースのアンケートシステム「limesurvey」におきまして、文字化けが起きており困っております。 LimeSurveyバージョン 1.90+ Build 9046 ほとんどのところは、きちんと日本語表示されるのですが、グラフ内(pchart)の文字が文字化けします。 いろいろネットで調べて、imagettftextが原因と分かりました。 「JIS-mapped Japanese Font Support」の設定値がTRUEの場合、GDライブラリは渡された文字列をUTF-8ではなく、Shift_JISとして解釈するということが分かり、mb_convert_encoding関数であらかじめShift_JISに文字コード変換してから、imagettftext関数に渡したところ基本的には、文字化けが解消しました。 以下が、そのコードです。 $Value2 = mb_convert_encoding($Value2,"SJIS ","UTF-8"); しかしながら、「(1)(2)(3)」(←まる1、まる2、まる3)などの機種依存文字がどうしても「?」に変換されてしまいます。 Shift_JISには、「(1)(2)(3)」などの機種依存文字が無いので仕方がないのですが、何とか良い方法が無いでしょうか? ちなみにネットで調べたところ、「SJIS」ではなくて、「SJIS-win」で変換すれば文字化けが起こらないと分かりましたが、今度は、imagettftextでエラーが出てしまいます。 下記のコードはエラーになります。 $Value2 = mb_convert_encoding($Value2,"SJIS-win ","UTF-8"); 「JIS-mapped Japanese Font Support」の設定値がTRUEの場合でも、GDライブラリは渡された文字列をUTF-8として強制的に解釈させる方法など無いのでしょうか?その他何か良い方法があればお教え下さい。 以上、宜しくお願い致します。

    • 締切済み
    • PHP
  • swatchからのメールの文字化け

    RedHat ES3にswatchを入れています。 logでerrorなど出た時にはメールが飛んでくるようにしているのですが、 日本語の文字列が入っている場合、文字化けしてしまいます。 文字コードの関係だと思うのですが、どこをどう設定したらいいのか わからないので、分かる方教えてください。

  • sjisでの文字化け?

    フォームに文章を入力し内容を送信するCGIを組んだのですが、送信内容の確認画面において文字化けが生じました。 よく聞く「表示」などの文字化けとは違う文字で、「欲求不満」「早苗」などで発生しています。 ただ、「欲求」「不満」「早」「苗」では文字化けせず、「求不」「早苗」という単語になって初めて文字化けするようです。 送信内容はsjisに変換して処理しています。 これはどういったことが原因で発生するのでしょうか? 原因と解決法を御教示いただけたらと思います。

    • ベストアンサー
    • Perl
  • RedHat9/Apache1.3でCGIが文字化け

    サーバマシンにウェブサイトで公開されているCGIプログラムをDLし、cgi-binディレクトリに置いて動かそうとしたのですが、文字化けします。 ネットワーク環境は、1台のルーターの下にサーバマシン1台(OS:RedHat9,Webサーバ:Apache1.3.33, IP:192.168.1.10)、クライアントマシン数台(OS:Windows 2000, IP:192.168.1.*)となっています。 まず、Kent Webさんのサイトhttp://www.kent-web.com/から掲示板「プチ☆ボード」をサーバマシンにDLし、httpd.confのScriptAliasで設定したcgi-binディレクトリに設置したところ、動作はするものの文字化けしてしまいます。 サーバマシンのMozillaから書き込んでみると、サーバマシンからでもクライアントマシンのIEからでも日本語は文字化けします。クライアントマシンから書き込んでみると、サーバマシンでもクライアントマシンでもその書き込みだけは文字化けしません。 同じくKent WebさんにあるDiary Note(気まぐれ日記)というCGIをDLし設置してみると、文字化けでタグが壊れているのか、トップページは表示されるもののリンク先へ飛びません。別ファイルから読み込むメッセージの部分だけは日本語で正しく表示されますが、他の部分はすべて日本語は文字化けしています。 テキストエディタでdiary.cgiファイルを開いてみると、日本語部分は文字化けしています。 そこで、一度クライアントマシンにプログラムをウェブサイトからDLし、FFFTPでASCIIモード、EUCコードに設定してdiary.cgiファイルをサーバマシンへアップロードしてみました。すると、テキストエディタで開くと日本語部分が正しく表示されるものの、cgi-binディレクトリにそのファイルを置いてブラウザからアクセスしてみると、やはり文字化けして動作しません。 どうすれば表示・動作が正しくなるのでしょうか?

  • puttyの日本語版において、SJISファイルが文字化け

    (概要) puttyの日本語版をインストールしたのですが、SJISモードにしても、SJISのファイルを開いた際に、文字化けが発生してしまいます。 (詳細) (1)puttyの設定 ウィンドウ→変換においてSJISモードを設定 (2)サーバー上において、環境変数をLANG=ja_JP.ujisおよびLANG=ja_JP.SJISに設定 上記の設定(1)、(2)で、SJISファイルを開くと文字化けが発生します。 ちなみに、ウィンドウ→変換においてEUC-JPモードを設定し、環境変数をLANG=ja_JP.eucjpに設定した場合に、EUCのファイルを開いた際には、文字化けせずに表示できます。 原因および対処方法がお分かりになる方がいらっしゃいましたら、ご教示をお願いいたします。

  • SJIS→EUCに送っても文字化けしない

    htmlは、SJISで作っています。 PHPは、EUCで作っています。 普通は文字化けをするため、mb_convert_encoding関数を用いますが、 なぜか、この関数を使わなくても、文字化けしません。 友人は、有り得ないと言います。 事実、友人PCではmb_convert_encoding関数で文字化けを直してました。 私も友人に同感で、SJIS→SJISやEUC→EUCなら文字化けしないけど、文字コードが違うのです。違うから、mb_convert_encoding関数を使うと、思っているのですが‥‥ 設定が違うのかと思い、友人の、php.iniなどいくつかのファイルを私のPCに上書きしてもらいましたが、変わりませんでした。 こういうことってあるのでしょうか? 文字化けしないなら、mb_convert_encoding関数を使わなくて良いので、楽だと思いましたが・・・ 何かの不具合なら、いざ完成した時、またmb_convert_encoding関数をいれる手間がありますし、どうしようか迷っています。 本には、「文字化けしない場合もある」という記述は一言も書いてありませんでした。 逆に、「文字化けするからmb_convert_encoding関数を用いる」と大きく書いてあるぐらいです。 何かの設定なのでしょうか? ソフトのバージョンも、同じでした。不思議です。

    • ベストアンサー
    • PHP
  • 複数のテキストの文字コード変更

    私は今、Linuxで簡単なプログラムを作りHPに載せたいと考えています。 そして実際に載せて見たのですが、日本語入力したところがどうしても文字化けしてしまいます。 そして、文字化けの原因が文字コードにあるとわかりutf-8からsjisに変換したところ、文字化けしないようになりました。 日に20数個ものプログラムを作り、アップロードするので1つ1つ文字コードを変更している状態です。 しかし、現状ではとても大変なので、スクリプトを作り、複数のファイルの文字コードを変更したいと考えているのですが、どのようにすればいいのでしょうか? どなたか教えていただけませんか?