Version: v3.1.2+incompatible Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2020 License: Apache-2.0 Imports: 10 Imported by: 0




View Source
const (
	// CharsetBin is used for marking binary charset.
	CharsetBin = "binary"
	// CollationBin is the default collation for CharsetBin.
	CollationBin = "binary"
	// CharsetUTF8 is the default charset for string types.
	CharsetUTF8 = "utf8"
	// CollationUTF8 is the default collation for CharsetUTF8.
	CollationUTF8 = "utf8_bin"
	// CharsetUTF8MB4 represents 4 bytes utf8, which works the same way as utf8 in Go.
	CharsetUTF8MB4 = "utf8mb4"
	// CollationUTF8MB4 is the default collation for CharsetUTF8MB4.
	CollationUTF8MB4 = "utf8mb4_bin"
	// CharsetASCII is a subset of UTF8.
	CharsetASCII = "ascii"
	// CollationASCII is the default collation for CharsetACSII.
	CollationASCII = "ascii_bin"
	// CharsetLatin1 is a single byte charset.
	CharsetLatin1 = "latin1"
	// CollationLatin1 is the default collation for CharsetLatin1.
	CollationLatin1 = "latin1_bin"


View Source
var (
	ErrUnknownCollation         = terror.ClassDDL.New(codeUnknownCollation, mysql.MySQLErrName[mysql.ErrUnknownCollation])
	ErrCollationCharsetMismatch = terror.ClassDDL.New(codeCollationCharsetMismatch, mysql.MySQLErrName[mysql.ErrCollationCharsetMismatch])


func GetCharsetInfo

func GetCharsetInfo(cs string) (string, string, error)

GetCharsetInfo returns charset and collation for cs as name.

func GetCharsetInfoByID

func GetCharsetInfoByID(coID int) (string, string, error)

GetCharsetInfoByID returns charset and collation for id as cs_number.

func GetDefaultCharsetAndCollate

func GetDefaultCharsetAndCollate() (string, string)

GetDefaultCharsetAndCollate returns the default charset and collation.

func GetDefaultCollation

func GetDefaultCollation(charset string) (string, error)

GetDefaultCollation returns the default collation for charset.

func Lookup

func Lookup(label string) (e encoding.Encoding, name string)

Lookup returns the encoding with the specified label, and its canonical name. It returns nil and the empty string if label is not one of the standard encodings for HTML. Matching is case-insensitive and ignores leading and trailing whitespace.

func ValidCharsetAndCollation

func ValidCharsetAndCollation(cs string, co string) bool

ValidCharsetAndCollation checks the charset and the collation validity and returns a boolean.


type Charset

type Charset struct {
	Name             string
	DefaultCollation string
	Collations       map[string]*Collation
	Desc             string
	Maxlen           int

Charset is a charset. Now we only support MySQL.

type Collation

type Collation struct {
	ID          int
	CharsetName string
	Name        string
	IsDefault   bool

Collation is a collation. Now we only support MySQL.

func GetCollationByName

func GetCollationByName(name string) (*Collation, error)

func GetCollations

func GetCollations() []*Collation

GetCollations returns a list for all collations.

func GetSupportedCollations

func GetSupportedCollations() []*Collation

GetSupportedCollations gets information for all collations supported so far.

type Desc

type Desc struct {
	Name             string
	Desc             string
	DefaultCollation string
	Maxlen           int

Desc is a charset description.

func GetCharsetDesc

func GetCharsetDesc(cs string) (*Desc, error)

GetCharsetDesc gets charset descriptions in the local charsets.

func GetSupportedCharsets

func GetSupportedCharsets() []*Desc

GetSupportedCharsets gets descriptions for all charsets supported so far.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL