otherの最近のブログ記事

よーは、適当にインストールしてしまった、MT&MySQLだったので、

latin1のままだったのですが、他のアプリから、デフォルトUTF-8で

接続したかったため、変更しましたよーってこと

まずは、MySQLの状態確認

 

# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51a-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> STATUS;
--------------
mysql  Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu (i686) using  EditLine wrapper

Connection id:          1
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.51a-log Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 4 sec

Threads: 1  Questions: 4  Slow queries: 0  Opens: 12  Flush tables: 1  Open tables: 6  Queries per second avg: 1.000
--------------

 

latin1のことを確認したら、バックアップを取りましょー

 

# mysqldump -uroot -p modperl --default-character-set=latin1 > modperl.latin1.db

 

んで、もってUTF-8にテーブルを変える

 

# sed -s 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/' modperl.latin1.db > modperl.utf8.db

 

んで、入れる

 

mysql -uroot -p modperl < modperl.utf8.db

 

んで、MySQLのmy.cnfに以下を追加してrestart

 

/etc/my.cnf
 [client]
 default-character-set = utf8
 [mysqld]
 default-character-set = utf8
 [mysql]
 default-character-set = utf8

 

ほいで、状態を確認する

 

# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> STATUS;
--------------
mysql  Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu (i686) using  EditLine wrapper

Connection id:          2
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.51a-log Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /tmp/mysql.sock
Uptime:                 25 sec

Threads: 1  Questions: 91  Slow queries: 0  Opens: 24  Flush tables: 1  Open tables: 18  Queries per second avg: 3.640
--------------

 

パチパチ、めでたしめでたしって、思って

MTの管理画面をリロードしたら、文字化けしやがってる!!

 

なんで??

 

ということで、IE7でしか確認してないんですけど・・・www

Shift_JIS、EUC-JPなどでのページでは、Perlで言うと・・・

 

print
    $q->header(-type => 'application/x-javascript; charset=UTF-8'),
    $q->param('callback'), '(', JSON::Syck::Dump($data), ');', "\n";
exit;

 

は、完全OUTです!!

さらに文字によっては、}がありません

とか寝ぼけたこといい出します

※JSONデータにマルチバイトがないっていう状態では、もちろん起こりませんけどw


解決方法は・・・って、別にたいしたことじゃないけど

Shift_JISは、ヘッダをShift_JISへ、且つJSONデータもShift_JISへ変換

EUC-JPは、って言ってもShift_JISと同じで、文字コードを合わせるだけですw

 

ちなみに、このヘッダの文字コード変えるとかは、IE以外?は通用しないので

IEを判別する(UA?)とかで分岐してくださいね

 

まずは、ログインしたいIDで下のコマンドを打ちます

 

ssh-keygen -t rsa

 

そーすると、パスフレーズとか聞かれるので、パスワードはながーく打ちますw

ちなみに自分は住所をもぢったものにしてみましたw

 

さてはて、次にすることは

 

mv ~/.ssh/id_rsa.pub /.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

 

そんで、id_rsaのファイルをログインしたいPCとかにコピっときます

 

cat ~/.ssh/id_rsa

 

最後は、/etc/ssh/sshd_configのPasswordAuthenticationをnoにして

 

/etc/init.d/sshd restart

 

で、終了ーーー

 

ターミナルからログインとかするときは、、、

 

ssh -i .ssh/id_rsa xxxx@xxxx.com

 

とかすると、パスフレーズを聞かれるので、答えたらログインOKっす!!

 

 

bash-2.04$ for i in `ls -1 *.html`
> do
> sed -e "s/test\//test2\//g" $i > $i.sed
> mv $i.sed $i
> done

 

すると、一発で置換できますね

 

楽チン楽チン

 

toolandというサービスに申し込んでみました

設置するとこんな感じです

おもろいサービスがあるものですねー

 

ちと、どんな感じなのかを、アクセスログなど調べつつ

検証してみたいと思います

 

相互リンクなら無料ツールのtoo-search
リンク集のテンプレートが20種類以上、相互リンクページを簡単作成!

 

udnsで検索すると、debianのソースしか見つからないので

RedHat(CentOSとか、Fedora)であれば、

http://dag.wieers.com/rpm/packages/udns/

から、rpmをダウンロードしてinstallしましょう!!

 

normalのrpmを入れてから、develの順に入れてくださいなw


yumでサクッと入れちゃいましょう

 

>yum install expat-devel.i386

 

これでOK!!

 

結構、みなさん読んでなかったりして・・・??

googleから、クリック率が高いブログの広告位置とか

ここにのってますよーー

 

活用して、たばこ代の糧にしてくださいなww

 

ちょっとしたことで調べたので、こちらもメモがてらww

perlで、FHを食いつぶしてみますw

 

#!/usr/bin/perl

use strict;
use warnings;

my @fhs;
for (1..2048) {
    open(my $fh, ">./tmp/$$.$_") or die "$_ => $!";
    push(@fhs, $fh);
}
exit;

 

これを実行すると、

 

1022 => Too many open files at file.pl line 8.

 

と、怒られます

 

$ ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
max nice                        (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16359
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
max rt priority                 (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 16359
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 

「open files」が1024かぁー、

これはコケるねww

 

ssh ホスト名 command

で、実行できるのは知っているのだけど、

apacheとか、restartすると、プロンプトが返ってこない。。。

散々悩んだあげく、sshのmanを見てみると。。。

こんなことが書いてあった

 

-f
Requests ssh to go to background just before command execution.  This is useful if ssh is going to ask for passwords or passphrases,
but the user wants it in the background.  This implies -n.  The recommended way to start X11 programs at a remote site is with some-thing like ssh -f host xterm.

 

なるほど、「-f」つけないと、foreground で実行するから

プロセスとか立ち上げると、そのプロセスが終わるまで、

プロンプトが返ってこない・・・と

始めにman見とけばえがったぁ

 

Perl 勉強本

Oracle 勉強本

J2EE 勉強するなら、これしかなくね?

ブログ管理人

SE perler@29

アイテム

  • image001.gif
  • modperl.png

アドパートナー

tooland

Pingo!

boox