MySQLのVARCHAR(xx)はバイト数カウントなので、マルチバイト文字を扱う時は文字コードと格納したい文字数から(xx)の値を割り出してましたが、衝撃的な事実を発見。

MySQLのvarchar(XX)は、文字数(MySQL4.1.20)

なんと、MySQL4.1以降のマルチバイト対応などで、文字数カウントになったらしい。
全然知らずに今の今まで冒頭のような無駄な作業をしてました。
勉強不足がバレますが、まかり間違って同じ境遇の人がいたら大変なのでお知らせ。

蛇足ですがこのトラックバック先の記事、日付が2007/08/21になっております。
私はこの時期、ちょうど中小SIerの新人研修を受けていた頃で、技術情報のアンテナも張り方がわかっていませんでした。

こういう右も左もわかっていない時期に叩き込まれた「常識」は、疑うことも無く引きずってしまうものですね。

新人研修では、基本的な技術ばかりに目が行きがちですが、新しい技術の情報やソフトウェアのバージョンアップ情報へのアンテナの張り方も取り入れていくことが重要ですね。

精進します。。。

 

最新リリースのubuntu9.10、かなりいい感じです。

LAMP(php5,mysql5,apache2)の開発環境を構築したのでメモ。

#apache2インストール
$ sudo apt-get install apache2

#phpインストール
$ sudo apt-get install php5 php5-cli php-mysql

$mysqlインストール
$ sudo apt-get install mysql-sever

インストールは以上。

次に、php.iniの設定を編集します。
/etc/php5/apache2/php.iniを編集します。

#自動クオートを無効化
magic_quotes_gpc = Off

#言語の設定(日本語、UTF-8)
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8

設定の確認のため、phpinfoを見てみます。

#phpファイルを作成
$ sudo vim /var/www/phpinfo.php

あとは、http://localhost/phpinfo.phpをブラウザで確認して、phpinfoが正常に表示されていれば成功です。

MySQLの設定ですが、取り急ぎ必要なのは文字コードの設定。
文字化け防止のため、デフォルトの文字コードUTF-8にし、自動文字コード変換をスキップするという設定をします。

以下の文字列を/etc/mysql/my.cnfに追加します。

default-character-set=utf8
skip-character-set-client-handshake

以上です。

© 2011 sanojimaru.com Suffusion theme by Sayontan Sinha