MySQL-4.x とそれ以前のバージョンでは、NCHAR と CHAR は同義語でした。ANSI では、事前定義キャラクタセットが CHAR カラムで使用されるように指定する方法の 1 つとして NCHAR または NATIONAL CHAR を定義しています。MySQL では、utf8 が事前定義キャラクタセットとして使用されます。たとえば、以下のカラム型宣言
CHAR(10) CHARACTER SET utf8 NATIONAL CHARACTER(10) NCHAR(10)
は、以下のカラム型宣言と等価です。
VARCHAR(10) CHARACTER SET utf8 NATIONAL VARCHAR(10) NCHAR VARCHAR(10) NATIONAL CHARACTER VARYING(10) NATIONAL CHAR VARYING(10)
N'literal' を使用して、各国キャラクタセットの文字列を作成することができます。
以下の 2 つのステートメントは等価です。
SELECT N'some text'; SELECT _utf8'some text';