diff --git a/server/db.go b/server/db.go index bfad818..6f2f0b9 100644 --- a/server/db.go +++ b/server/db.go @@ -4,6 +4,7 @@ import ( "database/sql" "fmt" "log" + "net/url" "os" "time" @@ -25,7 +26,12 @@ func InitDB() { } log.Printf("[DB] Using timezone: %s (Local=%s)", os.Getenv("TZ"), time.Local.String()) - dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?parseTime=true&loc=Local&time_zone='Local'", user, pass, host, port, name) + // Default to UTC if TZ is empty, otherwise use the encoded TZ name + tzParam := "UTC" + if os.Getenv("TZ") != "" { + tzParam = url.QueryEscape("'" + os.Getenv("TZ") + "'") + } + dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?parseTime=true&loc=Local&time_zone=%s", user, pass, host, port, name, tzParam) var err error db, err = sql.Open("mysql", dsn) if err != nil {