code: func GetAllCharsets() []*Desc {
  	descs := make([]*Desc, 0, len(charsets))
  	// The charsetInfos is an array, so the iterate order will be stable.
  	for _, ci := range charsetInfos {
  		c, ok := charsets[ci.Name]
  		if !ok {
  			continue
  		}
  		desc := &Desc{
  			Name:             c.Name,
  			DefaultCollation: c.DefaultCollation.Name,
  			Desc:             c.Desc,
  			Maxlen:           c.Maxlen,
  		}
  		descs = append(descs, desc)
  	}
  	return descs
  }
docs: // GetAllCharsets gets all charset descriptions in the local charsets.