awesome先生*1に基礎を教わってきたので忘れないうちにメモ。 utf8_unicode_ci / utf8_general_ci MySQL で default charset を utf8 に指定すると、デフォルトで選ばれるコレーションは utf8_general_ci unicode_ci は文字に対して独自の weight map でもって評価する(general_ci は ascii とコードポイントで評価) MySQL で実装されている weight map は1階層のみのため、日本語が入る環境では意図しない挙動をする*2 utf8mb4 も基本的には同一 ただ utf8mb4_general_ci だと絵文字の評価が厳しいので、やるならコードポイントのみで比較する utf8mb4_bin に設定するしかないとのこと "default" charset の挙動 本来 MyS
MySQLではカラム毎にcharsetとcollationを指定できるので、こういうMigrationファイルがあったときに class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :email, charset: 'ascii', collation: 'ascii_bin', null: false t.string :password_digest, charset: 'ascii', collation: 'ascii_bin' t.timestamps end add_index :users, :email, name: "idx_email", unique: true end end CREATE TABLE `users` ( `id` int(1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く