diff --git a/mythtv/libs/libmythtv/channelsettings.cpp b/mythtv/libs/libmythtv/channelsettings.cpp
index e03829f..bb0f96f 100644
--- a/mythtv/libs/libmythtv/channelsettings.cpp
+++ b/mythtv/libs/libmythtv/channelsettings.cpp
@@ -27,7 +27,15 @@ QString ChannelDBStorage::GetSetClause(MSqlBindings &bindings) const
                   GetColumnName() + " = " + nameTag);
 
     bindings.insert(fieldTag, id.getValue());
-    bindings.insert(nameTag, user->GetDBValue());
+
+    if (trimTagValue)
+    {
+        bindings.insert(nameTag, user->GetDBValue().trimmed());
+    }
+    else
+    {
+        bindings.insert(nameTag, user->GetDBValue());
+    }
 
     return query;
 }
@@ -40,7 +48,7 @@ class Name : public LineEditSetting, public ChannelDBStorage
 {
   public:
     Name(const ChannelID &id) :
-        LineEditSetting(this), ChannelDBStorage(this, id, "name")
+        LineEditSetting(this), ChannelDBStorage(this, id, "name", true)
     {
         setLabel(QObject::tr("Channel Name"));
     }
@@ -50,7 +58,7 @@ class Channum : public LineEditSetting, public ChannelDBStorage
 {
   public:
     Channum(const ChannelID &id) :
-        LineEditSetting(this), ChannelDBStorage(this, id, "channum")
+        LineEditSetting(this), ChannelDBStorage(this, id, "channum", true)
     {
         setLabel(QObject::tr("Channel Number"));
     }
@@ -114,7 +122,7 @@ class Callsign : public LineEditSetting, public ChannelDBStorage
 {
   public:
     Callsign(const ChannelID &id) :
-        LineEditSetting(this), ChannelDBStorage(this, id, "callsign")
+        LineEditSetting(this), ChannelDBStorage(this, id, "callsign", true)
     {
         setLabel(QObject::tr("Callsign"));
     }
diff --git a/mythtv/libs/libmythtv/channelsettings.h b/mythtv/libs/libmythtv/channelsettings.h
index 381ee44..c6a7d53 100644
--- a/mythtv/libs/libmythtv/channelsettings.h
+++ b/mythtv/libs/libmythtv/channelsettings.h
@@ -102,9 +102,12 @@ protected:
 
 class ChannelDBStorage : public SimpleDBStorage
 {
+  private:
+    bool trimTagValue;
+
   protected:
-    ChannelDBStorage(StorageUser *_user, const ChannelID &_id, QString _name) :
-        SimpleDBStorage(_user, "channel", _name), id(_id) { }
+    ChannelDBStorage(StorageUser *_user, const ChannelID &_id, QString _name, bool _trimTagValue = false) :
+        SimpleDBStorage(_user, "channel", _name), id(_id), trimTagValue(_trimTagValue) { }
 
     virtual QString GetSetClause(MSqlBindings &bindings) const;
     virtual QString GetWhereClause(MSqlBindings &bindings) const;
diff --git a/mythtv/libs/libmythtv/channelutil.cpp b/mythtv/libs/libmythtv/channelutil.cpp
index b872986..48d9500 100644
--- a/mythtv/libs/libmythtv/channelutil.cpp
+++ b/mythtv/libs/libmythtv/channelutil.cpp
@@ -1574,10 +1574,10 @@ bool ChannelUtil::CreateChannel(uint db_mplexid,
     query.prepare(qstr);
 
     query.bindValue(":CHANID",    new_channel_id);
-    query.bindValue(":CHANNUM",   chanNum);
+    query.bindValue(":CHANNUM",   chanNum.trimmed());
     query.bindValue(":SOURCEID",  db_sourceid);
-    query.bindValue(":CALLSIGN",  callsign);
-    query.bindValue(":NAME",      service_name);
+    query.bindValue(":CALLSIGN",  callsign.trimmed());
+    query.bindValue(":NAME",      service_name.trimmed());
 
     if (db_mplexid > 0)
         query.bindValue(":MPLEXID",   db_mplexid);
@@ -1658,11 +1658,11 @@ bool ChannelUtil::UpdateChannel(uint db_mplexid,
     query.bindValue(":CHANID", channel_id);
 
     if (set_channum)
-        query.bindValue(":CHANNUM", chan_num);
+        query.bindValue(":CHANNUM", chan_num.trimmed());
 
     query.bindValue(":SOURCEID",  source_id);
-    query.bindValue(":CALLSIGN",  callsign);
-    query.bindValue(":NAME",      service_name);
+    query.bindValue(":CALLSIGN",  callsign.trimmed());
+    query.bindValue(":NAME",      service_name.trimmed());
 
     query.bindValue(":MPLEXID",   db_mplexid);
 
diff --git a/mythtv/libs/libmythtv/tv_rec.cpp b/mythtv/libs/libmythtv/tv_rec.cpp
index 2eedf68..a8506d5 100644
--- a/mythtv/libs/libmythtv/tv_rec.cpp
+++ b/mythtv/libs/libmythtv/tv_rec.cpp
@@ -3187,9 +3187,9 @@ bool TVRec::SetChannelInfo(uint chanid, uint sourceid,
         "    xmltvid  = :XMLTVID   "
         "WHERE chanid   = :CHANID AND "
         "      sourceid = :SOURCEID");
-    query.bindValue(":CALLSIGN", callsign);
-    query.bindValue(":CHANNUM",  channum);
-    query.bindValue(":CHANNAME", channame);
+    query.bindValue(":CALLSIGN", callsign.trimmed());
+    query.bindValue(":CHANNUM",  channum.trimmed());
+    query.bindValue(":CHANNAME", channame.trimmed());
     query.bindValue(":XMLTVID",  xmltvid);
     query.bindValue(":CHANID",   chanid);
     query.bindValue(":SOURCEID", sourceid);
