Преглед на файлове

fix fallback charset handling

test if the fallback is set, do not rely on error code
Arne Hormann преди 12 години
родител
ревизия
162e0fbe06
променени са 1 файла, в които са добавени 7 реда и са изтрити 2 реда
  1. 7 2
      connection.go

+ 7 - 2
connection.go

@@ -48,9 +48,14 @@ func (mc *mysqlConn) handleParams() (err error) {
 		case "charset":
 			charsets := strings.Split(val, ",")
 			for _, charset := range charsets {
+				// ignore errors here - a charset may not exist
 				err = mc.exec("SET NAMES " + charset)
-				if err != nil {
-					return
+				if err == nil {
+					var value []byte
+					value, err = mc.getSystemVar("character_set_connection")
+					if string(value) == charset {
+						break
+					}
 				}
 			}