WEB制作

PHP+MySQL

機種依存文字の置換

機種依存文字がメールなどで文字化けするということなので,下記の参考サイトをもとに次のように置換することを検討した。

function replaceText($str){
    $conv_arry = array(

     (中略)

        "\xE2\x91\xA0" => "(1)",
        "\xE2\x91\xA1" => "(2)",
        "\xE2\x91\xA2" => "(3)",
        "\xE2\x91\xA3" => "(4)",
        "\xE2\x91\xA4" => "(5)",
        "\xE2\x91\xA5" => "(6)",
        "\xE2\x91\xA6" => "(7)",
        "\xE2\x91\xA7" => "(8)",
        "\xE2\x91\xA8" => "(9)",
        "\xE2\x91\xA9" => "(10)",

     (中略)

        //Windows個別対応  〝〟∮∑∟⊿¦'"﨑髙
        "\xE2\x88\xAE" => "セクション",
        "\xE2\x88\x91" => "シグマ",
        "\xE2\x88\x9F" => "直角",
        "\xE2\x8A\xBF" => "デルタ",
        "\xE3\x80\x9D" => "・",
        "\xE3\x80\x9F" => "・",
        "\xEF\xBC\x82" => "・",
        "\xEF\xBC\x87" => "・",
        "\xEF\xBF\xA4" => "縦破線",
        "\xEF\xA8\x91" => "崎",
        "\xE9\xAB\x99" => "高",
        
        //Mac個別対応   濁点 長音 no-break space
        "\xE3\x82\x99" => "゛",
        "\xE2\x88\x92" => "-",
        "\xC2\xA0" => " "
    );
    
    
    $tmp1_str = mb_convert_encoding($str,"SJIS-win","EUC-JP");
    $tmp2_str = mb_convert_encoding($tmp1_str,"UTF-8","SJIS-win");

    $tmp3_str = strtr($tmp2_str, $conv_arry);
    
    $conv_str = mb_convert_encoding($tmp3_str,"EUC-JP","UTF-8");

    return $conv_str;
}

参考サイト

Windowsの機種依存文字
   http://www.asahi-net.or.jp/~ax2s-kmtn/ref/mdc.html

Macintoshの機種依存文字(画像)  
   http://www.asahi-net.or.jp/~ax2s-kmtn/ref/mdcmc_img.html

PHPで機種依存文字の置き換え
   http://qiita.com/plsplsme/items/59bbfe4be2ec96d07792

文字列と数値文字参照(文字参照)の変換
 http://www.benricho.org/moji_conv/15.html

16進数を文字列に自動変換&その逆をするツール
 http://singoro.net/16henkan/



 

≫ 続きを読む

2015/07/13 PHP+MySQL   toshi

MySQL 本日のデータの取得

何気なく,次のように「本日のデータ」を取得していた。

 

$sql  = "SELECT * FROM table_a ";

$sql .= "WHERE id = '" . $id . "' ";
$sql .= "AND cre_date >= current_date() ";//本日の00:00:00 以降

 

不安になったので,Google で調べてみると,上記の最終行は次のようにすべきではないかと思ったが

 

$sql .= "AND CAST(cre_date as DATE) = current_date() ";//timestamp型のcre_dateをDATEに限定してcurrent_dateと比較

 

 

しかし,元のままでも良さそうということで修正せず。

≫ 続きを読む

2015/04/27 PHP+MySQL   toshi