「 PHP 」一覧

PHPからsyslogへメッセージを出力した際の文字化け対応

PHP(エンコード:UTF-8)からsyslogへメッセージを出力するとマルチバイト文字が化けてしまう。
この場合、syslogdに「-8」オプションを指定すればいいらしい。

※ちなみに「-s」は外部からのログを受け取らないようにするオプション。


PHPで「EUC-JP」から「UTF-8」への文字コード変換

「EUC-JP」の文字を「UTF-8」に変換する際の注意。

『①』『Ⅰ』『㈱』などの機種依存文字や、『髙(はしごだか)』『﨑(たちざき)』などのIBM拡張文字が含まれていると

では正常に変換できず、文字化けしてしまう。ちなみに↑これだと出力は『abc???あかさたな??』となる。で、「EUC-JP」を「eucJP-win」に変えてやると、機種依存文字はクリアできるがIBM拡張文字はアウト。

↑これの出力は『abc①Ⅰ㈱あかさたな』。

じゃあ、どうすればいいかというと、こんな感じに「SJIS(sjis-win)」をかましてやればいいらしい。

これで『abc①Ⅰ㈱あかさたな髙﨑』と出力されるようになる。


WordPressにXML-RPCで投稿@PHP

前に書いたヤツを少しだけキレイに。

pearのXML_RPCモジュールをインストールしておく

↓ソースここから。


XML-RPCでWordPressのカテゴリ指定時のバグ

XML-RPCでカテゴリを指定する時、カテゴリIDに2桁以上の値を指定すると正常に登録されない。

たとえば

  • カテゴリID = 8 → 8
  • カテゴリID = 15 → 1
  • カテゴリID = 24 → 2
  • カテゴリID = 397 → 3
  • どうやら一番上の桁だけをとっているらしい。

    xmlrpc.phpをみてみると、2327行目に、

    $catは配列ではなく、カテゴリIDが直接入っている。

    修正

    一応うまく動いているっぽい。


    PHPとpearでXML-RPCを利用してWordPressへ投稿

    pearの「XML_RPC」モジュールをインストール。

    ソースはこんな感じ。

    }

    一応これで投稿可能だが、カテゴリはデフォルトのものになってしまう。カテゴリも指定したい場合は、さらに

    これでカテゴリの指定もOK。


    スポンサーリンク
    Googleレクタングル広告 www.labs816.com 336×280
    Googleレクタングル広告 www.labs816.com 336×280