- ベストアンサー
MACの改行コード変更について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
→ http://okwave.jp/qa/q7030066.html こちらのつづきでしょうか。 それならば、CRにするのは解決にはなりません。 おそらく、最近の事情を知らずに「Macではテキストの改行はCR」だと思っているのでしょう。 たしかにOS9まではCRを使っていましたが、OSXではUnixがベースになっており、改行もUnixと同じLFを使っています。 Web共有で使われれうApacheも、CGIを実行するのに使うperlも、LFを改行とみなします。 実際、手許で実験したところ、 CRLF,CR→Internal Error 500 LF → 「ちわ!世界。」と表示 でした。 原因は他にも考えられます。 > perl -c /Library/Webserver/CGI-Executables/test.cgi 文法が正しくてもプログラムとして間違っている、ということはよくあることです。 -cをはずして実行したら、ちゃんとターミナル上に表示されるでしょうか? CGIでは、その実行ファイルを単体で実行しようとします。perlを探すのは、シェルの役目です。つまり、シェルからコマンドとして実行できる必要があります。ターミナルで /Library/Webserver/CGI-Executables/test.cgi とだけ入力したらどうなるでしょうか?
その他の回答 (1)
- kmee
- ベストアンサー率55% (1857/3366)
テキストエディット.appには無いようです。 CRに対応したソフト(mi等)を使うのが確実だと思います。 ところで、なぜCRなのでしょう?
関連するQ&A
- 改行コードについて
改行コードがよく解らないので説明お願いします 様々なサイトの改行コードの説明で LinuxはLF MacはCR WindowsはCRLFと説明しています 私の認識では LF=\n CR=\r CRLF=\r\n だと思っていました ここで疑問なのですが 確かに私の利用した環境ではLinuxの改行コードは\n, Windwosの改行コードは\r\nでした ところがMacの標準のメモ帳(テキストエディット)で文字を入力しても改行コードは\nです 確認方法は od -cというコマンドとfileというコマンドです これはつまりCRではなくLFということですよね? では、なぜ多くのサイトではMacはCRと説明しているのでしょうか? そもそもCR=\rという認識が間違ってるのでしょうか? よろしくお願いします
- 締切済み
- その他([技術者向] コンピューター)
- 改行コードについて
HTMLフォームのテキストエリアで改行した場合の処理についてご質問します。 Windowsのローカル環境で試しています。 改行コードLFでPHPを作成しています。 ○改行コードの認識 LF(\n) Unix,Mac OS X CR(\r) Mac OS 9 CRLF(\r\n) ○テキストエリアからの入力値の処理 CRLF、CRをLFに変換しています。 $value= str_replace ("\r\n", "\n", $value); $value = str_replace ("\r", "\n", $value); このあとDBに値を格納しています。 ○出力の際の処理 DBから値を取得。 phpのprint関数で下記を出力。 <textarea >${value}</textarea> 上記処理で、ローカル、サーバともに正常に動作しています。 しかし改行コードがLF(\n)なのでCRLF(\r\n)のWindowsで表示したときには問題が起きそうな気がします(実際には正常に動作)。 なにかしっくりこなくて質問させていただきました。 よろしくお願いします。
- ベストアンサー
- PHP
- 改行コードCR(\r)をアンダースコア(_)に変換
AIX、Kシェルです。 ファイルに出力された改行コードCR(\r)をアンダースコア(_)に変換したいのですが、 文字コードSJISだと期待通りの結果になるのですが、UTF-8だと全角の手前で止まってしまいます。 試したコマンドは下記です。 cat file.txt | tr "\r" "_" > tmpfile ex) file.txt(最終行は半角spaceと全角space) 10(改行コード=LF) 11(改行コード=CRLF) 12(改行コード=CR) 1(改行コード=LF) 2(改行コード=CRLF) 3(改行コード=CRLF) ああ(改行コード=CRLF) (改行コード=CR) 【結果】tmpfile 10(改行コード=LF) 11_(改行コード=LF) 12_1(改行コード=LF) 2_(改行コード=LF) 3_(改行コード=LF) ああ_(改行コード=LF) _ これがUTF-8だと12までは変換できるのですが、以降が出力されません。 UTF-8でも最後まで変換されるようにするにはどうすれば良いのでしょうか? 初心者で申し訳ありません。 お手数ですが、何卒宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- 改行コードについて
こんにちは。 私はFedoraCore3を使用しています。 SSH接続でPoderosaを使いはじめてかなり経つのですが サーバーを立ててからずっと改行コードをCRでやっていました。 で、最近Linuxの改行コードはLFという事を知りました。 今の所、CRでやっていて 改行されなかったりする事もなく特に異常は ないのですがこのままCRでやってても問題ないのでしょうか? それとも、これからはLFでやったほうがいいですか? もう一つなんですがこの改行コードというのは viで編集しているの時は関係ないのですか? (今まで異常がないため) よろしくお願いします。
- ベストアンサー
- Linux系OS
- 改行コードとテキストエンコーディングについてお伺い致します。
改行コードとテキストエンコーディングについてお伺い致します。 あるデータファイルの改行コードは「Unix(LF)」, テキストエンコーディングは「UTF-8(BOMなし)」という指定があります。Mac Book (OS X 10.6.4)でテキストエディットで打ち込んだ物を使っているのですが,その指定に該当するのか、もし違うのであれば、どう修正したらよいかわかりません。ご教示いただけたら幸いです。
- ベストアンサー
- Mac
- VB6のテキスト処理 さまざまな文字コード/改行で対応
VB6のテキスト処理で、Open InputとLine inputを使った場合に 文字コード/改行コードが SJIS/CRLFの時は正しく1行を読み込む事ができますが、改行がLFの時は正しく1行を読み取りません。 改行コードがLFもしくはCRの場合でも正しく1行を読み取る方法はあるのでしょうか? また、文字コードに関してもEUCやUTF-8,JISでも対応できる方法がありましたら教えて下さい。
- ベストアンサー
- Visual Basic
- 【unix】nkfで文字コードを変えずに改行コードを変えたい
unix(BSD)初心者です。 PHP経由でunixを操作、ファイルの加工をしております。 nkfコマンドにてLF改行をCR+LF改行にしたいのですが、 ・文字コードは無変化で改行コードだけ変える などということはできるのでしょうか? いろいろな文字コードのファイルが混在している場合に文字コードはそのまま保ちつつ改行コードはCR+LFに統一したいのです。 お詳しい方よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- 改行コードの変換方法
Excelシート内にあるテキストボックスの改行コード(LF)が多数存在してます。 これを改行コード(CRLF)に簡単に変換する方法はありますか? 対象文字を選択してExcelの置換機能で変換できませんか?
- ベストアンサー
- その他MS Office製品
- Windowsでの改行コード
HTMLを書くのにあたりUNIXサーバが主流なのだから、 UTF-8、改行コードはLFで行うことを勧められました。 Windowsの改行コードはCR LFだそうですが、 LFにした場合、Windows上でJAVAScriptなどのテストをしたときに 何か不都合があるのでしょうか。 改行コードが CR LF でUNIX上でトラブルになった事例は見つけました。 反対のことが良く分かっていません。よろしくお願いします。
- ベストアンサー
- Windows系OS
補足
回答ありがとうございます。 長文になりますが、ご指導よろしくお願いいたします。 なぜCRかと申しますと、下記のような質問をしたところ、 返答が、 「エラーの内容はhttpのレスポンスヘッダより前に何かが出力されてしまったため発生しています。 大抵は先頭行の改行コードが問題を引き起こしていますので、環境がMACなら改行コードをCRLFやLFではなく、CRだけにしてください。」 だった為です。 質問内容 CGI プログラムを起動させると、 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.・・・・・ となってしまい、CGIがブラウザに表示されません。 どなたか解決法をご存知の方、教えてください。 (使用PCは、MacOSX(10.6.8)です。) 行った手順 1. Apacheの動作確認 [Machintosh HD]→[アプリケーション]→[システム環境設定] → 共有・アイコン → 「Web 共有」にチェックを入れる。 2. test.cgiを設置 設置場所 [Machintosh HD]→[ライブラリ]→[WebServer] → 「CGI-Executables」にtest.cgiを設置 test.cgiは下記 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>CGI TEST</TITLE></HEAD>\n"; print "<BODY>ちわ!世界。</BODY>\n"; print "</HTML>\n"; __END__ 3.ターミナルでCGIプログラムに実行権をつける chmod 755 /Library/Webserver/CGI-Executables/test.cgi 4.ブラウザに「http://localhost/cgi-bin/test.cgi」を入力 最初に表示した「Internal Server Error」になってしまう。 ちなみに・・・ 1. ファイルに実行権限が付いているか確認したところ、下記のようになりました。 ls -la /Library/WebServer/CGI-Executables/test.cgi -rwxr-xr-x@ 1 taka staff 188 2. Syntaxを確認したところ、下記のようになりました。 perl -c /Library/Webserver/CGI-Executables/test.cgi /Library/Webserver/CGI-Executables/test.cgi syntax OK 3. ターミナルにて、which perlを確認したところ、下記のようにまりました。 /usr/bin/perl 4. tail -f /private/var/log/apache2/error_logにてApacheのエラーログを確認をしたところ、下記のようになりました。 [Thu Sep 22 22:31:17 2011] [error] [client 127.0.0.1] (8)Exec format error: exec of '/Library/WebServer/CGI-Executables/test.cgi' failed [Thu Sep 22 22:31:17 2011] [error] [client 127.0.0.1] Premature end of script headers: test.cgi エラーログの見方、解決法もわからない初心者です。 どなたか解決法をご存知のかた、教えてください。 どうぞよろしくお願いいたします。