MySQL の character set まとめ

現在設定されてる charset の確認方法

mysql> show variables like 'cha%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

ubuntuでMySQLを普通にapt-getで入れた状態だとこんな感じ。

設定変更

“SET NAMES UTF8;” というクエリを発行すると、
character_set_client, character_set_connection, character_set_results をutf8 に
切り替えることが出来る。
アプリケーションから DB接続直後にこのクエリは昔は定番だったけども
セキュリティ上の問題があるので現在は非推奨、つかぶっちゃけ使用禁止。
http://blog.ohgaki.net/set_namesa_mcb_asc

php だったら mysqli_set_charset( $db, “utf8″ ); とか、
“SET NAMES”を使わずに専用の api からやること。

my.conf

上記対応をしても character_set_server や character_set_database は変わらずに
Latin1 のまま。
/etc/mysql/my.cnf を編集して、mysqld のところに

character-set-server=utf8               # ここを追加 by sayoko
skip-character-set-client-handshake     # これも

以上を追加。そして MySQL を再起動。
※ my.cnfの書式 mysql 5.3あたりで変わってるので要確認。
ubuntuのは Ver 5.1.49-1ubuntu8.1-log for debian-linux-gnu on x86_64 ((Ubuntu))
だったりする。

もう一度確認

mysql> show variables like 'cha%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

ここまでやっても character_set_database だけは latin1 のまま。
これは既存のデータベースがすでに latin1で作成されているので。
データが少ない初期状態のうちなら、データベースを新規に作り直した方が早い。

create table bbs (
       postno          int unsigned auto_increment not null,
       ...
       msg             varchar(1024),
       addr            char(128),
       PRIMARY KEY(postno)
) default character set utf8;

こんな感じで create table する段階で utf8指定する。
もちろん create database の段階で指定してもいい。

すでにあるDBは

alter database (db-name) character set utf8

Posted in Linux | Leave a comment

保護中: nay

この投稿はパスワードで保護されています。表示するにはパスワードを入力してください:


Posted in 未分類 | コメントを読むにはパスワードを入力してください。

音源作成への四苦八苦

1) UTAUで遊ぶ為には、やっぱり伴奏が欲しいわけで、
オフボーカルな音源探してきて、それに歌を乗っけるというだけじゃ淋しいから、
やっぱり自力で伴奏作りたい。

2) DTMというか midiシーケンサというか、そんな感じのソフト探して、
・Music Stadio Producer
・Stadio ftn Score Editor
・Domino
なんかを試してみたけど、Domino が一番使い安いと思われ。
(楽譜をまるっと入力するなら ftn という選択肢もあるけど)

3) で、Domino で .midi ファイル出来るわけだが、
こいつは直接 Audacity に放り込んで UTAUの出力と mixing できないので、
一旦 .midi ⇒ .wav 変換してやらないといけない。

4) iTunesでも .wav変換できるみたいだけども、
うちの環境(Windows XP 64bit版)だと iTunes動いてくれないので、
WinAmpという選択肢になる。
WinAmpなんて、Windows95の初期の頃には愛用してたけど、
なんかすっごい久しぶりにあのアイコン見たよw
こいつで、『Option』⇒『設定』⇒プラグイン⇒『出力』⇒『Nullsoft DiskWriter』⇒『設定』
で、ファイル書き出しにしてやればOK

5) 出来上がった .wav と、UTAU出力の .wavを AudacityでmixingしてやればOK

たぶん、3日もすると手順を忘れる自信があるので、自分用のメモとして。

Posted in 腐日記 | Leave a comment

word 2010 で差し込み印刷

ここが一番判りやすいかな
http://pc.nikkeibp.co.jp/article/technique/20100805/1026763/

Posted in 未分類 | 3 Comments

sites.google.com でガジェット

某所で sites.google.com なサイトに関わることになったので、
sites.google.com で作ったサイトに twitterのウィジェットを貼り付ける方法を
簡単にまとめてみた。

https://sites.google.com/site/sayokolab/twitterno-zhangri-fang

うぐぅ。

Posted in 腐日記 | Leave a comment