2013/03/26

MySQLでエラー [Incorrect string value]


ブログシステムのメール投稿機能でエラー。
MySQLエラー [Incorrect string value]
文字コードの問題って話が多いけど、今回は違った。

本文に絵文字が入っていたため。

ガラケー時代はほとんど起きなかった問題。
スマートフォンになって多様になったなー。

PHPの場合、変換不能な文字は削除する関数があったはず。
文字コードを一度変換してから、最初の文字コードに戻すって処理をすればエラーになるような文字は削除される。

前に対処したはずだったんだけど…
新しい問題かも。


--add 2013.4.24
iPhoneの「メッセージ」(吹き出しアイコンの方)で写真とタイトルのみで送信すると、メールのbodyが画像のデータだけになっていた。
そういう状況を想定していなかったので、画像のbase64データをテキストとして処理しようとしてしまっていたらしい。

今までの機種だと、メールの本文なくても空っぽのプレーンテキスト枠があったんだけど、iphoneだとそれもなくなってた。

2013/03/08

compass使ってたらsingle-transitionでエラーになった


Undefined mixin single-transitionとかなんとか、そんなエラー。
結論だけかくと、バージョンアップしたら治った。

調べてたら、「2つ同時にcompass watchしてたせいだったっぽいよ」って言ってた人もいたので、そういう場合もあるのかも。

2013/03/04

[WordPress] functions.phpに入れていたら少し楽になる関数

WordPressでimgタグを書くのが面倒
<img alt="sample" height="100" src="<?php echo 'TEMPLATE_DIR' . '/sample.jpg' ?>" width="100" />
functions.phpに下を追加
define('DIR', get_bloginfo( 'template_directory' ));
/* imgタグを返す */
function img_tag($file, $alt = '', $opt = array()){
  //ディレクトリ名は自分の環境に合わせて
        $path = DIR . '/images/' . $file;
        if(!empty($alt)){
                $opt['alt'] = $alt;
        }
        $etc = '';
        foreach($opt as $key => $value){
    //引数のデータをそのまま属性に追加している。
    //必要だったら値のチェックをしましょう
                $etc .= ' ' . $key . '="' . $value . '" ';
        }

        $path = sprintf('',
                $path,
                $etc
        );

        echo $path;
}
使い方
<?php
img_tag ('sample.jpg', 'alt属性', array('width' =>100, 'height' => 100)) ?>
//省略も可
//<img class="php" code="" src="テンプレまでのパス/images/sample.jpg'>
少しだけimgタグを書くのが楽になると思うんだけどどうだろう? cssを追加するのも少しだけ楽になる↓ 配列で渡せるようにしてもいいかも
function css_tag($file){
    echo sprintf('',
            DIR . '/stylesheets/' . $file
    );
}
まあ、他のフレームワークのパクリなんだけどね