文字コードについて調べたことや実験したこと, テストプログラム,データファイルなどを随時掲載する予定です. ただし筆者の理解不足や誤解により誤りがあるかもしれませんので, ご利用は自己責任で. このページの主な更新は Blog でお知らせします. 表示確認ブラウザ:FireFox 22.0,IE8. 0.目次 シフトJIS Shift_JIS と Windows-31J (CP932) の違い シフトJIS 2バイト文字の判定 謎の検索ワード集 (シフトJIS編) 「Shift_JIS(SJIS,Windows-31J,CP932) 3バイト文字」 「Shift_JIS(SJIS,Windows-31J,CP932) サロゲート(ペア)」 「UTF-8 4バイト文字 Shift_JIS(SJIS,Windows-31J,CP932) 変換」 「Unicode(UTF-8,UTF-16) か
久しぶりの投稿第1段は、負荷エミュレーションツールのmysqlslapを使って手軽にテスト用データを作成するという内容です(MySQL5.5以降に付属のmysqlslapが必要)。 実行方法とパラメータの意味 例:約10万件のデータを作成 mysqlslap -u mysqlslap -p --create-schema=mysqlslap -a --no-drop \ --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=write \ --number-int-cols=2 --number-char-cols=2 \ --auto-generate-sql-secondary-indexes=3 \ --auto-generate-sql-execute-number=1000 --auto-gener
こんにちは、matsuiです。 弊社ではソーシャルアプリを開発・運用していますが、主な実行環境の一つとして Amazon EC2を利用しています。 EC2について知りたい方はAWS(Amazon Web Service)のサイトを見て頂くとして、 今回は弊社システムでよく利用している「MySQL」のベンチマークテストについてです。 長らく安定版は5.1系で止まっていましたが、ようやく5.5系安定版が公開されたことを受けて、どの程度の性能アップがなされているのかを確認してみました。 確認方法はMySQL 5.1.4から標準で付属しているmysqlslap(クライアント負荷エミュレーション)を使います。 mysqlslapを使う理由としては、標準で付属しており、事前準備がいらないというのがいいですね。 どれぐらい性能アップしたか知りたいという欲求を満たすには十分な気がします。 今回は比較対象と
MySQL 編2 - ODBC + VB ADO、テーブル作成、レコード更新、レコード参照 ■MySQL ODBC + VB ADO テーブル作成 ・テーブル作成で、日本語項目名が指定できるかテストする。 問題なく作成できる。 Dim cn As Variant Dim sql As String '** ODBC 接続 Set cn = CreateObject("ADODB.Connection") cn.Open "dsn=MySQL;uid=sak;pwd=" cn.CursorLocation = 3 '** テーブル作成 sql = "create table testm (" sql = sql & "キー char(008)," sql = sql & "データ1 int8," sql = sql & "データ2 int8," sql = sql & "データ3 int8"
この記事は MySQL Casual Advent Calendar 2013 の15日目の記事です。 今、空前の SQL エスケープブームみたいなので、このビッグウェーブに乗っかってみます。 でも面倒なのでセキュリティについての話はしません。カジュアル! 文字列リテラルとエスケープ MySQL では SQL 中の文字列リテラルは次のように表現します。 'abc' -- シングルクォートで括る "abc" -- ダブルクォートで括る 0x616263 -- 16進数 x'616263' -- 16進数 0b011000010110001001100011 -- 2進数 b'011000010110001001100011' -- 2進数 各表記で charset を指定することができます _utf8 'abc' _utf8 "abc" _utf8 0x616263 _utf8 x'6162
会社のmac(10.7.3)にインストール。 諸事情でmacportsは使わない。 mysqlは本家にあるバイナリを使用。 postgresqlは、適当にビルド。 apache, libiconvは、デフォルトを使用。 gettext-0.17 CFLAGS="-arch x86_64" CCFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ./configure --with-libiconv-prefix=/usr --without-emacs 0.17を使う。0.18 は、_zif_setlocale なんたらかんたらとmake時に怒られる。 with-libiconv-prefixを設定する 以下のパッチをあてる。 参照:湘南ぱいそん diff --git a/gettext-tools/gnu
対策1:メールのエンコードをiso-2022-jpにするhttp://redmine.jp/faq/general/iso-2022-jp/ に書いてあるようにActionMailerJaを導入するRedmineの通知メールのエンコードはutf-8であるため、一部のメーラーでは文字化けすることがあります。ActionMailerJa をインストールすると、Redmineから送信されるメールのエンコーディングがiso-2022-jpになり、文字化けすることがなくなります。しかしこれでも件名が文字化けするメールがあります。チケットの題名を長い日本語で入力したものが文字化けするようです。件名は↓のようになりiso-2022-jpにはなっていますが、人間が判読できる文字にはなっていません。 =?iso-2022-jp?Q?=5BRedmine=... 対策2:QエンコードからBエンコードに調べてい
cmd.exe の引数の扱いがあまりにもカオスだったのでちょっと頑張って調べてみた。 本来ならここは公式の資料に当たるのが正しいアプローチだと思うけど、どうしても公式の資料が見つからなかったので、色々試して推測してみることに。 断片的な資料は見付けたけど、完全じゃない。一応URL貼っておく。Windows Server 2003 のヘルプだけど、恐らくそんなに変わらないと思う。 コマンド シェルの概要 コマンド リダイレクト演算子を使用する なので、以下で述べる内容は間違いを含む可能性があります。というか正確さは一切保証されないのであしからず。 検証方法 以下のような引数をただ表示するだけの簡単な C のプログラムを用意した。仮に args.exe とでもしておく。 #include <stdio.h> int main(int argc, char const* argv[]) { in
MySQL4.0はサーバがキャラクタセットをもっており、クライアントはサーバのキャラクタセットで動作していた。 4.1、5.0はクライアントとサーバで別々にキャラクタセットを持っており、変換が行われる。 クライアントとサーバで相互変換できないキャラクタセットの場合、データが壊れる(文字化け)が起こる。 ここまでは別に問題なかった。 PHPはデフォルトでキャラクタセットlatin1を利用するようになっている。 なので配布されているバイナリのほとんどはキャラクタセットlatin1。 ここまでも問題なし。 my.cnf(Windowsバイナリだとmy.ini)の設定項目でキャラクタセットに関係あるもの。 mysql> SHOW VARIABLES LIKE 'char%'; | character_set_client | utf8 | | character_set_connection |
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く