Bug 192448 - Local collection shows ???? instead of names
Summary: Local collection shows ???? instead of names
Status: CLOSED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.0.96
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-12 16:04 UTC by snvv101
Modified: 2009-06-23 14:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description snvv101 2009-05-12 16:04:42 UTC
Version:           2.0.96 (Debian 2.0.96-1) (using 4.2.2 (KDE 4.2.2), Debian packages)
Compiler:          cc
OS:                Linux (x86_64) release 2.6.29-1-amd64

Hello,
When I scan a collection with no-latin characters, in amarok I can see only ???? instead of the ID's of the mp3's.

The ID3v1.x and ID3v2.4 tag are in UTF encoding.

Bellow you can see some debuging information, where you can notice that Greek names of the songs are displayed correctly.


Bug Report
==========

amarok: END__: static void App::handleCliArgs() - Took 0.00046s                             
amarok: END__: virtual int App::newInstance() - Took 0.0006s                                
snvv@siduxbox:~$ amarok: [MountPointManager] [WARNING!] NOT-IMPLEMENTED:  void MountPointManager::startStatisticsUpdateJob()                                                          

amarok: BEGIN: SvgHandler::SvgHandler(QObject*) 
amarok: END__: SvgHandler::SvgHandler(QObject*) - Took 0.00013s 
Couldn't resolve property: linearGradient5167                   
link XMLID_7_ hasn't been detected!                             
link XMLID_7_ hasn't been detected!                             
Couldn't resolve property: radialGradient3986                   
link XMLID_7_ hasn't been detected!                             
link XMLID_7_ hasn't been detected!                             
Couldn't resolve property: radialGradient3986                   
amarok: BEGIN: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&) 
amarok:    importing qt bindings  "qt.network"                                  
amarok: END__: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&) - Took 0.0076s                                                                                          
amarok: BEGIN: void DaapCollectionFactory::connectToManualServers()                         
amarok: END__: void DaapCollectionFactory::connectToManualServers() - Took 0.00011s         
amarok: BEGIN: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&)             
amarok:    importing qt bindings  "qt.gui"                                                  
amarok: END__: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&) - Took 0.051s                                                                                           
amarok: BEGIN: void CurrentEngine::stoppedState()                                           
amarok: END__: void CurrentEngine::stoppedState() - Took 0.00038s                           
amarok: BEGIN: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&)                                                                                          
amarok: END__: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) - Took 0.00018s                                                                          
amarok:  SCRIPT "Librivox.org" :  "creating service..."                                     
amarok: BEGIN: static QScriptValue ScriptableServiceScript::ScriptableServiceScript_prototype_ctor(QScriptContext*, QScriptEngine*)                                                     
amarok: BEGIN: bool ScriptableServiceManager::initService(const QString&, int, const QString&, const QString&, bool)                                                                    
amarok:      initializing scripted service:  "Librivox.org"                                 
amarok: BEGIN: ServiceBase::ServiceBase(const QString&, ServiceFactory*, bool, const QString&)                                                                                          
amarok: END__: ServiceBase::ServiceBase(const QString&, ServiceFactory*, bool, const QString&) - Took 0.0023s                                                                           
amarok: BEGIN: void ServiceBase::setIcon(const QIcon&)                                      
amarok: END__: void ServiceBase::setIcon(const QIcon&) - Took 3.1e-05s                      
amarok: BEGIN: void ScriptableService::init(int, const QString&, bool)                      
amarok: BEGIN: ScriptableServiceCollection::ScriptableServiceCollection(const QString&)     
amarok: END__: ScriptableServiceCollection::ScriptableServiceCollection(const QString&) - Took 5.1e-05s                                                                                 
amarok: END__: void ScriptableService::init(int, const QString&, bool) - Took 0.00013s      
amarok: END__: bool ScriptableServiceManager::initService(const QString&, int, const QString&, const QString&, bool) - Took 0.0028s                                                     
amarok: END__: static QScriptValue ScriptableServiceScript::ScriptableServiceScript_prototype_ctor(QScriptContext*, QScriptEngine*) - Took 0.0029s                                      
amarok:  SCRIPT "Librivox.org" :  "done creating service!"                                  
amarok: BEGIN: void ScriptableServiceScript::slotCustomize(const QString&)                  
amarok:    SCRIPT "Librivox.org" :  "customizing Librivox service"                          
amarok:    SCRIPT "Librivox.org" :  "loading icon: /usr/share/kde4/apps/amarok/scripts/librivox_service/LibrivoxIcon.png"                                                               
amarok: BEGIN: void ScriptableServiceManager::setIcon(const QString&, const QPixmap&)       
amarok:      service:  "Librivox.org"                                                       
amarok: BEGIN: void ServiceBase::setIcon(const QIcon&)                                      
amarok: END__: void ServiceBase::setIcon(const QIcon&) - Took 3.3e-05s                      
amarok: END__: void ScriptableServiceManager::setIcon(const QString&, const QPixmap&) - Took 0.00019s                                                                                   
amarok: END__: void ScriptableServiceScript::slotCustomize(const QString&) - Took 0.0016s   
amarok: END__: bool ScriptManager::slotRunScript(QString, bool) - Took 0.77s                
amarok: BEGIN: bool ScriptManager::slotRunScript(QString, bool)                             
amarok: BEGIN: void ScriptManager::startScriptEngine(QString)                               
amarok: BEGIN: ScriptableServiceScript::ScriptableServiceScript(QScriptEngine*)             
amarok: END__: ScriptableServiceScript::ScriptableServiceScript(QScriptEngine*) - Took 5.3e-05s                                                                                         
amarok: BEGIN: Downloader::Downloader(QScriptEngine*)                                       
amarok: END__: Downloader::Downloader(QScriptEngine*) - Took 5.9e-05s                       
amarok: END__: void ScriptManager::startScriptEngine(QString) - Took 0.0009s                
amarok: BEGIN: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&)             
amarok:      importing qt bindings  "qt.core"                                               
amarok: END__: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&) - Took 0.018s                                                                                           
amarok: BEGIN: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&)             
amarok:      importing qt bindings  "qt.xml"                                                
amarok: END__: bool AmarokScript::ScriptImporter::loadQtBinding(const QString&) - Took 0.015s                                                                                           
amarok: END__: bool ScriptManager::slotRunScript(QString, bool) - Took 0.042s               
amarok: END__: void ScriptManager::slotConfigChanged(bool) - Took 0.82s                     
amarok: END__: void ScriptManager::findScripts() - Took 0.84s                               
amarok: BEGIN: void CurrentEngine::resultReady(const QString&, const Meta::TrackList&)      
amarok: END__: void CurrentEngine::resultReady(const QString&, const Meta::TrackList&) - Took 9.3e-05s                                                                                  
amarok: BEGIN: void CurrentEngine::setupTracksData()                                        
amarok: END__: void CurrentEngine::setupTracksData() - Took 7.6e-05s                        
amarok: BEGIN: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&)                                                                                          
amarok: END__: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) - Took 0.00023s                                                                          
amarok: BEGIN: virtual void CurrentTrack::constraintsEvent(Plasma::Constraints)             
amarok: END__: virtual void CurrentTrack::constraintsEvent(Plasma::Constraints) - Took 0.00024s                                                                                         
amarok: BEGIN: CollectionSetup::CollectionSetup(QWidget*)                                   
amarok: BEGIN: QStringList MountPointManager::collectionFolders()                           
amarok: END__: QStringList MountPointManager::collectionFolders() - Took 0.00042s           
amarok: END__: CollectionSetup::CollectionSetup(QWidget*) - Took 0.013s                     
amarok: BEGIN: virtual bool Amarok2ConfigDialog::hasChanged()                               
amarok: BEGIN: virtual bool CollectionConfig::hasChanged()                                  
amarok: BEGIN: bool CollectionSetup::hasChanged() const                                     
amarok: BEGIN: QStringList MountPointManager::collectionFolders()                           
amarok: END__: QStringList MountPointManager::collectionFolders() - Took 0.00018s           
amarok: END__: bool CollectionSetup::hasChanged() const - Took 0.00036s                     
amarok: END__: virtual bool CollectionConfig::hasChanged() - Took 0.00054s                  
amarok: BEGIN: virtual bool ServiceConfig::hasChanged()                                     
amarok: END__: virtual bool ServiceConfig::hasChanged() - Took 9e-05s                       
amarok: END__: virtual bool Amarok2ConfigDialog::hasChanged() - Took 0.001s                 
amarok: BEGIN: virtual bool CollectionConfig::hasChanged()                                  
amarok: BEGIN: bool CollectionSetup::hasChanged() const                                     
amarok: BEGIN: QStringList MountPointManager::collectionFolders()                           
amarok: END__: QStringList MountPointManager::collectionFolders() - Took 0.00015s           
amarok: END__: bool CollectionSetup::hasChanged() const - Took 0.00036s                     
amarok: END__: virtual bool CollectionConfig::hasChanged() - Took 0.00053s                  
amarok: BEGIN: virtual bool ServiceConfig::hasChanged()                                     
amarok: END__: virtual bool ServiceConfig::hasChanged() - Took 9.1e-05s                     
amarok: BEGIN: void ScanManager::startFullScan()                                            
amarok: BEGIN: void ScanManager::cleanTables()                                              
amarok: END__: void ScanManager::cleanTables() - Took 0.0016s                               
amarok: BEGIN: XmlParseJob::XmlParseJob(ScanManager*, SqlCollection*)                       
amarok: BEGIN: void ProgressBar::setDescription(const QString&)                             
amarok: END__: void ProgressBar::setDescription(const QString&) - Took 0.00032s             
amarok: BEGIN: void CompoundProgressBar::addProgressBar(ProgressBar*, QObject*)             
amarok:        p before:  QPoint(2,-54)                                                     
amarok:        p after:  QPoint(4,500)                                                      
amarok: BEGIN: void ProgressBar::setDescription(const QString&)                             
amarok: END__: void ProgressBar::setDescription(const QString&) - Took 0.00024s             
amarok: END__: void CompoundProgressBar::addProgressBar(ProgressBar*, QObject*) - Took 0.0018s                                                                                          
amarok: BEGIN: ProgressBar* ProgressBar::setAbortSlot(QObject*, const char*)                
amarok:        Setting abort slot for  "Scanning music"                                     
amarok:        connecting to  1deleteLater()                                                
amarok: END__: ProgressBar* ProgressBar::setAbortSlot(QObject*, const char*) - Took 0.00077s                                                                                            
amarok: END__: XmlParseJob::XmlParseJob(ScanManager*, SqlCollection*) - Took 0.0049s        
amarok:    Checking for batch file in  "/home/snvv/.kde/share/apps/amarok/amarokcollectionscanner_batchfullscan.xml"                                                                  
amarok: BEGIN: virtual void XmlParseJob::run()                                              
amarok: BEGIN: ScanResultProcessor::ScanResultProcessor(SqlCollection*)                     
amarok: END__: ScanResultProcessor::ScanResultProcessor(SqlCollection*) - Took 8.4e-05s     
amarok:      GOING TO SCAN:                                                                 
amarok: BEGIN: QStringList MountPointManager::collectionFolders()                           
amarok: END__: QStringList MountPointManager::collectionFolders() - Took 0.00042s           
amarok:           "/home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)"    
amarok: BEGIN: QStringList MountPointManager::collectionFolders()                           
amarok: END__: QStringList MountPointManager::collectionFolders() - Took 0.00038s           
amarok: END__: void ScanManager::startFullScan() - Took 0.026s                              
amarok: BEGIN: void DatabaseUpdater::createTemporaryTables()                                
amarok:      Initialized thread, count== 4                                                  
amarok:      [ERROR!] GREPME MySQLe query failed! Specified key was too long; max key length is 1000 bytes  on  "CREATE UNIQUE INDEX urls_id_rpath_temp ON urls_temp(deviceid, rpath);" 
amarok: END__: void DatabaseUpdater::createTemporaryTables() - Took 0.026s                  
amarok: BEGIN: void ScanManager::slotFinished()                                             
amarok: END__: void ScanManager::slotFinished() - Took 9.9e-05s                             
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM artists_temp WHERE name = 'Πλούταρχος';"                                                              
amarok:    Success. Committing result to database.                                          
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/01. ΑΝΑΣΑ ΜΟΥ.mp3';"                                                             
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/02. ΚΑΤΕΒΑ ΛΙΓΟ ΝΑ ΣΕ ΔΩ.mp3';"                                                  
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/03. ΟΛΑ ΣΕ ΣΕΝΑ ΤΑ ΒΡΗΚΑ.mp3';"                                                  
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/04. ΜΟΝΟ ΕΣΥ.mp3';"                                                              
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/05. ΦΥΣΑΕΙ ΠΟΛΥ.mp3';"                                                           
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/06. ΕΨΑΧΝΑ ΧΡΟΝΙΑ ΝΑ ΣΕ ΒΡΩ.mp3';"                                               
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/07. ΛΕΠΤΟΜΕΡΕΙΕΣ.mp3';"                                                          
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/08. ΧΑΡΤΙΝΗ ΚΑΡΔΙΑ.mp3';"                                                        
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/09. ΠΩΣ ΒΑ ΓΙΝΟΥΜΕ ΞΕΝΟΙ.mp3';"                                                  
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/10. ΕΧΩ ΑΝΑΓΚΗ ΝΑ ΣΕ ΔΩ.mp3';"                                                   
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/11. ΜΗΠΩΣ ΣΟΥ ΖΗΤΗΣΑ ΠΟΛΛΑ.mp3';"                                                
amarok:    [ERROR!] GREPME MySQLe query failed! Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  on  "SELECT id FROM urls_temp WHERE deviceid = -1 AND rpath = './home/snvv/A2/Giannhs Ploutarxos - Oi megalyteres epityxies (CD 1)/12. ΔΕΝ ΕΙΝΑΙ ΤΩΡΑ ΠΙΑ ΕΔΩ.mp3';"                                                
amarok: BEGIN: void DatabaseUpdater::copyToPermanentTables()                                
amarok: BEGIN: void CollectionTreeView::slotExpand(const QModelIndex&)                      
amarok:        modelindex =  QModelIndex(0,0,0x2c2cb40,CollectionTreeItemModel(0x2c2c7f0) )                                                                                             
amarok:        m_filterModel ?  true                                                        
amarok: END__: void CollectionTreeView::slotExpand(const QModelIndex&) - Took 0.00042s      
amarok: END__: void DatabaseUpdater::copyToPermanentTables() - Took 0.012s                  
amarok: BEGIN: void DatabaseUpdater::removeTemporaryTables()                                
amarok: END__: void DatabaseUpdater::removeTemporaryTables() - Took 0.0013s                 
amarok:    Sending changed signal                                                           
amarok: BEGIN: void CollectionTreeView::slotExpand(const QModelIndex&)                      
amarok:      modelindex =  QModelIndex(0,0,0x2c2cb40,CollectionTreeItemModel(0x2c2c7f0) )   
amarok:      m_filterModel ?  true                                                          
amarok: END__: void CollectionTreeView::slotExpand(const QModelIndex&) - Took 0.00031s      
amarok: BEGIN: void SqlCollection::updateTrackUrls(TrackUrls)                               
amarok: END__: void SqlCollection::updateTrackUrls(TrackUrls) - Took 0.0085s
amarok: BEGIN: virtual ScanResultProcessor::~ScanResultProcessor()
amarok: END__: virtual ScanResultProcessor::~ScanResultProcessor() - Took 3.4e-05s
amarok: END__: virtual void XmlParseJob::run() - Took 0.19s
amarok: BEGIN: virtual XmlParseJob::~XmlParseJob()
amarok: BEGIN: void CompoundProgressBar::childBarComplete(ProgressBar*)
amarok:      p before:  QPoint(2,-9)
amarok:      p after:  QPoint(4,544)
amarok: BEGIN: void ProgressBar::setDescription(const QString&)
amarok: END__: void ProgressBar::setDescription(const QString&) - Took 4.7e-05s
amarok: BEGIN: void StatusBar::hideProgress()
amarok: END__: void StatusBar::hideProgress() - Took 0.00016s
amarok: END__: void CompoundProgressBar::childBarComplete(ProgressBar*) - Took 0.00054s
amarok: END__: virtual XmlParseJob::~XmlParseJob() - Took 0.0006s
amarok: BEGIN: void CollectionSetup::writeConfig()
amarok: BEGIN: QStringList MountPointManager::collectionFolders()
amarok: END__: QStringList MountPointManager::collectionFolders() - Took 0.00043s
amarok: END__: void CollectionSetup::writeConfig() - Took 0.0012s
amarok(30901) Amarok2ConfigDialog::~Amarok2ConfigDialog: ""
amarok: BEGIN: virtual OSDWidget::~OSDWidget()
amarok: END__: virtual OSDWidget::~OSDWidget() - Took 0.00021s
QPainter::begin: Cannot paint on a null pixmap
QPainter::translate: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Cannot paint on a null pixmap
QPainter::translate: Painter not active
QPainter::end: Painter not active, aborted
snvv@siduxbox:~$ amarok: BEGIN: void ScanManager::startIncrementalScan()
amarok: BEGIN: QStringList ScanManager::getDirsToScan()
amarok: END__: QStringList ScanManager::getDirsToScan() - Took 0.00071s
amarok:    GOING TO SCAN:
amarok:    Scanning nothing, return.
amarok: BEGIN: void ScanManager::writeBatchIncrementalInfoFile()
amarok: END__: void ScanManager::writeBatchIncrementalInfoFile() - Took 0.00067s
amarok: END__: void ScanManager::startIncrementalScan() - Took 0.002s
amarok: BEGIN: void ScanManager::startIncrementalScan()
amarok: BEGIN: QStringList ScanManager::getDirsToScan()
amarok: END__: QStringList ScanManager::getDirsToScan() - Took 0.00078s
amarok:    GOING TO SCAN:
amarok:    Scanning nothing, return.
amarok: BEGIN: void ScanManager::writeBatchIncrementalInfoFile()
amarok: END__: void ScanManager::writeBatchIncrementalInfoFile() - Took 0.00068s
amarok: END__: void ScanManager::startIncrementalScan() - Took 0.0021s
Comment 1 Alex Merry 2009-05-12 23:27:33 UTC
The encodings on the temporary tables and the real tables in the MySQL collection
are being set differently, and this seems to be causing some problems.

I guess we should be forcing the collations on the temporary tables to be the
same as the real tables.
Comment 2 snvv101 2009-05-13 16:23:45 UTC
I don't know if it helps you to further diagnose the issue, but when I removed default-character-set = utf8 in /etc/mysql/my.cnf and I dropped the old amarok database and I created a new one, the problem "solved". 

That's means we cannot use our old amarok database.

Regards.
Comment 3 Alexey Shildyakov 2009-06-21 12:13:40 UTC
Confirm this on 2.1.1
After force rescanning by Amarok, Amarok show me randomly ??? in name, artist or song. It's for japanese and russian lang but not at all tracks.
I read that problem with creation DB in Amarok. Is this problem present now because you modifing your DB schema or change working with DB in Amarok?
Comment 4 snvv101 2009-06-21 13:58:21 UTC
The situation with 2.1.1 is much worse than before. 
It destroy even the newly created DB. I reverted back to 2.0.96 to solve the problem. (other versions from 2.0.96 to just before 2.2.1 worked just fine but I use 2.0.96 because I could not find them for my debian system.
Comment 5 Alexey Shildyakov 2009-06-21 14:21:05 UTC
I read about bug when downgrading Amarok (lost some files in collection).
This bug presents in Amarok 2.1.1 and I want to read a comment from developers. I think this problem linked with problem (Bad search with match case).
As you can find a bug with the letter of one of developer (I think he is) which explain this bug. He says that problem in conversation with Latin1 encoding in DB and UTF8 encoding string adding to the table in DB.
Comment 6 Alexey Shildyakov 2009-06-22 23:01:37 UTC
Duplicate of this bug: http://bugs.kde.org/show_bug.cgi?id=191871
Comment 7 snvv101 2009-06-22 23:19:36 UTC
No. This is not a duplicate bug of 191871.
In 191871 case the problem was consisted across all tags and next (svn) versions solve the problem. In 2.1.1 it destroys some tags. Some other tags are not shown at all, and in general something is really messed with the scanner in the latest version.
Comment 8 Alexey Shildyakov 2009-06-22 23:25:00 UTC
Maybe related to this:
http://bugs.kde.org/show_bug.cgi?id=189527#c12
Comment 9 Alexey Shildyakov 2009-06-23 01:15:56 UTC

*** This bug has been marked as a duplicate of bug 189527 ***
Comment 10 Myriam Schweingruber 2009-06-23 14:11:45 UTC
(In reply to comment #9)
> 
> *** This bug has been marked as a duplicate of bug 189527 ***

No, it is not, that other bug is about special characters in the file path, not about id3 tags...

This is solved for me in 2.2-SVN, r985453, build 23.6.2009