2008年12月29日月曜日

MY SQL 雑記

UTF-8を MySQLdbで、Insert などした際に、文字化ける。 utf8ではなく、 charset = 'latin1' でかえってくる。


rikiroku氏が、「強引に直し」ている例があるが、再コンパイルが必要らしく、今回パス。
http://rikima.dip.jp:8081/rikima/rikima-blog/categories/python/cbcategory_view?b_start:int=16

ちなみに、cursor.pyを探すのに苦労したので、メモは残そう。
  MySQLdbは、YUMを使ったりした標準的?なインストールでは以下にある。(CenOS5)
  "/usr/lib/python2.4/site-packages/MySQLdb/cursors.py

  cursor.pyのなかで、たくさん関数があるうちの、この関数
def callproc(self, procname, args=()):
     長い英文の説明書きがある・・・・

from types import UnicodeType
db = self._get_db()
元々→ #charset = db.character_set_name()
charset = 'utf-8'


  ↑↑↑ この個所を変えるらしい。
 めんどくさいので、従来方式にする。なんで、pythonとmysqlの両方がutf-8仕様なのにと思うが・・・
python2.5では、これも直っているらしいとも聞くが、2.5入れるのもメンドイので、今回はこれで。

↓このブログが詳しい。
http://blog.livedoor.jp/alisue_seiga/archives/74330.html

my.ini
[mysqld] default-character-set=utf8 character_set_server=utf8 skip-character-set-client-handshake

スクリプトの中
connection = MySQLdb.connect(host=,port=,user=,passwd=,db=,use_unicode=True,charset="utf8")

変数をutf-8でとるようにした
hensu = unicode(hensu, 'utf-8', 'ignore')

SQL文をunicode指定してもよいらしい。(メンドイのでしてないが、変数をutf-8にしてあるのでちゃんと動いた。スクリプトファイル自体も -*= coding: utf-8 -*- にしてある)
cursor.execute(u"INSERT INTO person (name,age) VALUES ('例文',10);")  

2008年12月18日木曜日

RED5 設定

(1)コンテンツ流通の制御プログラムを java で作る。
(サンプルをコピって、改造する)

/red5配下の、webapps にそういたものを置く。<<Red5のルール<<configとかで設定はできるらしい(面倒い)

適当にディレクトリをwebapps下につくり、(1)を置く。
ここで、WEB-INFというディレクトリを、適当に作ったディレクトリ下につくる。
その中に、
red5\web.prpperties というテキストのファイルを作成。
webapp.contextPath=/fitcDemo とか、(1)の名称をいれると、パスが通るようになるらしい。

基本的に、これで動く。



LAN上で動かすには、webのサービスをON。
Red5/FMSのデフォルトポート 1935(tcp)が通るようにする。

2008年12月17日水曜日

RED 5 インストール

1)javaをインストールする。

2)ソフトウェアの追加、削除で次のものをインストールする
subversion
ant
  Centosでantがないことがあったが、なぜかyum で対応できた。
Red5でant1.7を要求される。
CentOSのyumは、1.65がインストールされたので苦労した。
このページの方法でOK。http://shrine-bell.seesaa.net/index-2.html

3)google ソースコードからRed5をダウンロードする
別の箇所からのダウンロードにはバグがある、場合がある(実際、動かなかった)
red5をインストールする場所に移動しておき、ダウンロードすると楽。

cd /opt/

svn co http://red5.googlecode.com/svn/java/server/trunk red5

/opt/red5 ディレクトリができいる。

ant prepare
ant dist

cd dist
sh red5.sh &

これでred5サーバーが稼働していたら、完成。

JAVAのインストール

JDKをSun micro systemsからダウンロード

http://java.sun.com/javase/downloads/index.jsp
(1.6が最新)<<いまのところ不具合なし RED5も動いた
上から2番めの Downloadを選択

1)システム
celon /pentiumは、linux
2)言語
マルチリンガル意外選べない
3)条件の承諾をチェック
>>continue

インストールするマシンで、自動的にインストールするには、上から2番め、末尾rpm.bin
Java SE Development Kit 6u11
jdk-6u11-linux-i586-rpm.bin

>>ダウンロード

su root で、コマンド
sh ./jdk-6・・・・
自動解凍
インストール先は、/usr/java/jdk1.6.・・・


/etc/profile の末尾に以下、記入
export JAVA_HOME=/usr/java/jdk1.6.0_11
export CLASSPATH=.:/usr/java/jdk1.6.0_11/jre/lib:/usr/java/jdk1.6.0_11lib:/usr/java/jdk1.6.0_11/lib/tools.jar:


端末で、
java -version
前の1.4などの表示のままのはず、次はコマンドにパスを通す。
                   ↓コマンド
alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_11/bin/java 1
        デフォルトのリンク↑    ↑実際の場所        ↑順位(数字)

alternatives --config java
新しい方の数字を記入

java -version
1.6 となれば、完成。