PHPから起動したjava内で日本語ファイル名が文字化けする
ちょっとハマったのでメモ。
ubuntu環境でPHPからJavaを呼んで、バッチ的な処理をさせるとき。
Javaから日本語のファイル名が取得できなくて困った。。
これを使って、ファイル名を正規表現でマッチするものだけを処理するって処理だったのに
何故かできない。
原因:PHPからshell_exec()する時に、明示的に
export LANG=hogehoge
してあげないと、正しい値を取得できない。
今回、プログラムはすべてUTFで作っていたので、
export LANG="ja_JP.UTF-8"
を入れていたのですが、どうにもうまく取得できず。
日本語部分が文字化けする。
なんでー?なんでー?といろんな人を巻き込んで
悩んだこと丸一日。。。
結果、サーバの設定的に
en_US.UTF-8 だったから、
export LANG="en_US.UTF-8"
としてあげないと、正しく取得できなかったと。
そういうわけでした。
正常に動いているPHPから
php -r "echo shell_exec('echo $LANG');"
とか
とかの結果で出てきた値でやると
今どの文字コードで動いているのかがわかるので
これを明示的に与えてあげると、うまく動作する
ってことだったらしいです。
echoしたら結果が出てくるんだから、
それで動いてくれればいいのにね。
ひどいわー。 私の一日を返してほしい。
お手伝いしてくれたふぐさん、ありがとうございましたですm(_ _)m
debian系(ubuntu含む)でのPHP Session の お話
調べた結果を書き込みたかったけど、Twitterだと流れてしまうのでここに。
PHPを使っていてSession情報がおかしい。
なんか時間が短い。
って思ったら
PHPのSession情報を保持するディレクトリが
rootじゃないと読み書きできないエリアに存在するため、
PHPでの管理ではなく、cronを使ってごにょごにょしているのだとか。
詳しくは
とか
phpMyAdminでセッションタイムアウトの時間を伸ばしても反映されない | 創作メモ帳
をみてわかったことなのだけれど。
そりゃローカルで色々試しても無理だわよ。
JqueryオブジェクトになったSelectから 選択された物を取得する方法
var $select = $("#selectId");
このような状態になっている Jqueryオブジェクトが存在した時
中身を取得した。
$select.find(":selected");
これで取得でけたー!
$select.find(":selected").text();
で ラベル は取れるし
$select.find(":selected").val();
で 値が取れる!
$("#selectId :selected");
での セレクトの値の取得方法が見つからなかったので、ちょっと悩んだのよね。
キャメルケースとハイフネーション
Zendを使っている以上で、必須になってくるこの2つ。
いつも手動置換していてめんどくさいなーって思ってたんだよね。
なので!!
作りました。
↓
これで今までめんどくさかったことが楽になるう〜♪
Redmineのwikiで改行する方法
探したけれど見つからなかったので。。。
<notextile> </notextile>
これを入れると1行改行。
2行改行したいときは
<notextile> </notextile> <notextile> </notextile>
とする。
みんな知ってるからなのか、全然ひっかからなくて。。
誰かの参考になればっ!
追記 2016.08.30
整形済みテキスト( < pre > で囲った場合や 半角スペースで開始した以下のような状態)でも利用可能でした。
Chrome リモート デスクトップ で MacからWindowsのctrlボタンを!!!
どうも。
悪いことするために、リモートデスクトップを入れて
ウマーしているまおさんです。
さて、今日はmacからいじっていて
winのctrlボタンが押せなくて悶絶しておりましたが
ついに発見したのでお知らせいたします。
fn + ⌘ + option
この3ボタンでwinに ctrl を 発信することが出来ました><b
ということは、
fn + ⌘ + option + control + del で 強制終了ができる。。。のか?w
(このコマンドを探した元記事がどっかいってしまってリンク付けられなくなっちゃった。。
ごめんなさい><
DateTimePickerAddon の グリッドがリセットできない><
Qiitaに投稿しようとして、
md形式で掛けなかったので断念しました。
どうもお久しぶりです。maoです。
このアカウントにログインしようとしたら、
ダイアリーを使った形式のあるアカウントに偶然ログインできてビックリしました。
(そっちのほうはお気に入りの写真がアイコンになっていてこっちにも持って来たいとwktkしております)
以前投稿した時に使った
http://jsdo.it/に投稿しようとして
思いのほか、使い方を忘れてしまい投稿に時間かかりそうだったので
ひとまずネタだけ投稿。
先日、バグチケットで以下のようなチケットが。。
「リセットボタンを押下しても、カレンダーの時間がクリアされません」
使っているカレンダーとは以下のaddon
http://trentrichardson.com/examples/timepicker/
optionの解説を信じて
$(".datetimepicker").datetimepicker({
hour: '00',
minute: '00'
});
としてみても、該当部分に反映する気配無し。。。
結果
無理矢理以下のように設定した。
(リセットする日付は今日でよかったので。)
var resetDate = new Date();
resetDate.setHours(0);
resetDate.setMinutes(0);
$(".datetimepicker").timepicker('setTime',resetDate);
これだけだと、input:text に値が入ってしまうので
そのあと、中身をクリアする処理を忘れずに。
これ、setTimeに関して、書いてないんだよね、オプションに。
無理矢理過ぎて嫌だなー。。。