  			++m_cursor;
  		else
  		{
-@@ -1648,7 +1672,7 @@
+@@ -1648,7 +1677,7 @@
  		std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator it =
  			m_db->m_services.find(ref);
  

+				countrycode[2]=toupper(countrycode[2]);
+				m_CountryCodeDefaultMapping[countrycode]=GB18030_ENCODING;
+			}
+			else if ( sscanf( strlower(line,lowerline), "%s big%d", countrycode, &encoding ) == 2 && encoding ==5)
+			{
+				m_CountryCodeDefaultMapping[countrycode]=BIG5_ENCODING;
+				countrycode[0]=toupper(countrycode[0]);

 
 		++m_cursor;
 
@@ -1702,7 +1731,7 @@
 	for (std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator it(m_db->m_services.begin());
 		it != m_db->m_services.end(); ++it)
 	{
