- 締切済み
OS X 10.4.11でphpの改行コードが認識されません。
プログラミング超初心者です。 OS X 10.4.11、MAMP1.71、PHPはVersion 5.2.5です。 テキストエディタはOS Xの標準のものを使い、言語は日本語(EUC)を使用しています。 今、phpの勉強をしていて、改行コードとして\LFを使用して、ごく簡単なプログラムを組んでいるのですが、\LFが改行コードとして認識されないだけでなく、\がユーロのマークで表示されます。 調べた結果、Unicodeの0x5cに関する問題であることが推測されたので、言語設定を変更するなどの対策を施しましたが、解決することができませんでした。改行コードを認識させる方法、または別の改行方法を教えていただきたいです。 初歩的な質問で大変申し訳ありませんが、ぜひ、お力をお貸しください。 よろしくお願いします。
- ryoko0823
- お礼率0% (0/3)
- PHP
- 回答数3
- ありがとう数0
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- SAYKA
- ベストアンサー率34% (944/2776)
No2→ ほんとだ 逆だった。 http://www.google.com/search?q=%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89%20cr%20lf%20mac%20win%20unix&hl=ja&lr= でも多分 質問者は本当に 「\LF」と記述してるんだろうね。 \L と F って組み合わせ(または\Lそのもの)が件の記号になってるだけだろうね。
- pick52
- ベストアンサー率35% (166/466)
>>No.1 逆だと思います。 UNIX/Linux/BSD系=LF=\n MacOS=CR=\r Win=CR+LF=\r\n LF=Line Feed(改行) CR=Carriage Return(復帰) ただし、論理改行コードは\nに統一されています。 大抵は\nでOSの改行コードに自動的に変換されます。 (アスキーモードの場合) MacOS XはそれまでのMacOSと違ってBSD系のOSなので改行コードが 何になっているのかは分かりませんけど。 バックスラッシュがユーロ記号に化けるという現象は聴いたことが ないですね。 プログラミング言語においてエスケープ文字を表現する場合には 文字のバックスラッシュや円記号ではなくあくまで 0x5c にマップ されているコードですので何物が表示されようと変わりありません。 (実質、韓国では同じ文字がウォン記号に化けますが関係なく使用 できます)
- SAYKA
- ベストアンサー率34% (944/2776)
? \LF ? 改行の表し方は \r または \n の筈だけど? macが\n unixが\r winが\r\n だった筈。
関連するQ&A
- PHPの文字コードどのように設定すればいいですか?
PHPをテキストエディタ(TeraPad)で、書こうとしているのですが、文字コードの設定がわかりません。 初期文字コード SHIFT-JIS JIS EUC Unicode UTF-8 UTF-8N いろいろあってどれを選んだらいいのかわかりません。 今はSHIFT-JISにしてます。 保存文字コード 自動 今は自動にしてます。 初期改行コード CR+LF 今はCR+LFにしてます。 保存コード 自動 今は自動にしてます 間違っている、又はこちらのほうがいいというのがありましたら是非教えてください。よろしくお願いします。
- ベストアンサー
- PHP
- MacOS Xの改行コード
Mac OS では、Xと、それより前のバージョンで文字コードが変わっていますよね。以前はシフトJISでしたが、OS XからはEUCといった具合です。 この間、改行コードも変わったものでしょうか? 従来のMacでは、「CR」だったと思いますが、文字コードがEUCになった事で改行コードも変わったのでしょうか?
- ベストアンサー
- BSD系OS
- PHPの文字コード
PHP初心者です。 環境【WinXP、PHP5、Apache2、エディタはDreamWeaverかPHPエディタ】 あまり詳しくないので、まず文字コードが今ひとつわかりません。 参考書などでPHPはEUCで記述と書いてあるので、エディタの設定で文字コードをEUC,改行コードをLFに設定しています。 ホームページを作成していた時には、metaタグに文字コードを打っていますが、プログラムの場合必要ないんですか?普段はShift-JISで入力しています。それともmetaタグの文字コードをEUCにしなければいけないのでしょうか? 現在、初めて更新履歴を作成しています。PHPファイルをEUCで作成し、テキストファイルをShift-JISで作成したのですが、うまく表示できませんでした。色々試して、PHPもテキストもShift-JISで作成したら、一応表示されたものの、たまに¥マークが勝手に入ってしまいます。 通常Windows環境でPHPファイルを作成する時の文字コードを教えてください。また、この場合はサイト全体(htmlファイルなど)のmetaタグの文字コードはどうしたらよいのでしょうか? よろしくお願いいたします。
- ベストアンサー
- PHP
- テキストファイルの改行について
よろしくお願いします。 改行コードには、 ・LF(ラインフィード、0A、\n) ・CR(キャリッジリターン、0D、\r) かあるようですが、 通常、エディタで改行した場合、 CR+LFで設定されていると思います。 改行コードが混在しているファイルがあり、 LFのみの場合はLF(改行)を削除したいのですが、 私が使っているエディタ「TeraPad」では、この違いを認識しないようです。 (改行マークが同じだった) 改行コードの違いを認識でき、かつLFのみの場合は削除できるようなエディタ、 またはその方法はないでしょうか? ※EmEditorとVxEditorも試しましたが、どちらも違いを認識できませんでした。
- ベストアンサー
- その他([技術者向] コンピューター)
- ファイル出力の改行コードをLFに
また質問です。よろしくお願いいたします。 WindowsXPでperl5.8.7の環境です。 出力したファイルの文字コードをEUC、改行コードをLFで出力をしようとしています。 なお入力、出力ファイルには日本語が含まれています。 文字コードは希望通りいくのですが改行コードがうまくいきません。 Windowsのデフォルト改行コードCR+LFが出力されてしまいます。 (Terapad(エディタ)の改行コード表示がこうなっています。) (1)binmode(OUT);で行うと、 Wide character in print at jisyo01.pl line 63, <IN> line 97. というエラーが表示され、出力されない。 (2)$xxx[$i] =~ s/\x0D\x0A/\x0A/g; で改行コードを置換しようとしても、置換されず、 CR+LFである。 (3)$/ = pack("C", hex("A"));で 改行コードをchompした後、print OUT "$/";としても、 CR+LFのままである。 上手くいきません。いい方法ないでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Perl
- 改行コードについて
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
- 改行コードを変換できません(>_<)
突然、改行コードの変換ができなくなりました。 使っているエディタはJedit4です。 改行コードをLFにして、保存してもなぜか開いてみるとCRになって保存されているんです。 新規作成して保存した書類は、LFにちゃんと保存できるのですが、 CGIをカスタマイズしようとしてあるファイルを開いて、改行コードをLFに設定して保存しても、なぜかLFにならないのでCGIを動かすこともできないんです。 いったい何が原因なんでしょうか? 何かアドバイスをお願いします。
- ベストアンサー
- Mac
- (php) メールの改行コードについて
phpでプログラミング中です。 メールを送信する際に 、メッセージ中に改行コードを入れたいのですが 思ったように改行してくれません。 (メールを送信はRestAPIを使って行っていますので、詳しくはわかりません) 実際には、思ったとおりに改行してくれていたのですが、そのRestAPIをバージョンアップしたら、改行されなくなってしまいました。 エディタ上での改行、 \n \r \r\n 全て試したのですが、 エディタ上での改行では、改行されず、 \r、\n、\r\n、全て2行改行になってしまいます。 PHP_EOLも使ってみましたが、改行されませんでした。 見た目、改行されているのはどうも、そのAPI自身が 70文字を超えたら改行しているように見えます。 他に改行するコード、改行する方法はありますでしょうか? 何でも試したいのです。 APIの開発元に聞いたり、バージョンアップの内容がわかればよいのでしょうが それを確認することは出来ない状態です。 何故出来ない? って言われそうですが。すみません。。。
- 締切済み
- PHP