タグ

設定とエスケープに関するiwwのブックマーク (2)

  • bashのIFSに改行のみを設定するには - 計算機と戯れる日々

    bashのIFSに改行のみを設定するのにはまった。 シェルスクリプト中でコードとして定義 IFS=' 'もちろんコマンドライン中ではあり得ない表記だ。 ¥’¥n’ これに気がつくまで時間がかかった $'string' の形式を持つ単語は特殊な扱いを受けます。 この単語は string に展開され、 それから ANSI C 標準で仕様が決められている、 バックスラッシュでエスケープされている文字に置き換えられます。 バックスラッシュエスケープシーケンスは、 (もし存在すれば) 以下のようにデコードされます: \n 改行文字 $ echo "foo bar buzz" >> a $ echo "foo bar buzz" >> a $ echo "foo bar buzz" >> a $ cat a foo bar buzz foo bar buzz foo bar buzz $ (IFS=$

    bashのIFSに改行のみを設定するには - 計算機と戯れる日々
  • magic_quotes_gpc = On の対策 - [PHP + PHP] ぺんたん info

    [参考]GPC(GET/POST/cookie)以外の情報を送るアラワザ php.iniで以下の設定があるとき magic_quotes_gpc = On クライアントより<form>フォームで送られた文字列データが全てエスケープされ、 「" → ¥"」「¥ → ¥¥」など変換処理が行われます。 またクッキーも同様です。 ここで問題になってくるのが、Shift-JISを扱うときです。5C文字化けに遭遇します。 『ソ』、『噂』、『圭介』、『能』という字も、エスケープされます。 エスケープしないようにするためには、Magic quotesの設定をOffにするのが単純な方法ですが、 設定変更できない場合などあります。 またこれが設定されているかされていないかで、いちいち意識するのも面倒であったりします。 たとえば開発環境のサーバーではできてたのに、番環境のサーバーではできなかったり。 そんなと

    iww
    iww 2010/04/16
    バックスラッシュがついたりつかなかったりするときの話
  • 1