Anmelden
Ich möchte für die nächsten 30 Tagen angemeldet bleiben
Deutsch
Several pages in the usergroup are available in English. Click on english to visit these pages.

Blogs

03.12.2009
Fehlende Umlaute in DotNetNuke 5.2.0 umgehen (Sebastian Leupold)
In DotNetNuke 5.2.0 hat sich ein äegerliches Problem im Caching-Provider eingeschlichen, der alle Nicht-ASCII-Zeichen falsch darstellt. Hier ein kleines SQL Skript von mir, um das Problem vorübergehend zu umgehen.
In DotNetNuke 5.2.0 hat sich ein äegerliches Problem im Caching-Provider eingeschlichen, der alle Nicht-ASCII-Zeichen falsch darstellt. Um das zu beheben kann man entweder auf 5.2.1 warten, den letzten Sourcecode auf dotnetnuke.codeplex.com selbst kompilieren, oder das Caching in den Moduleinstellungen auf 0 setzen. Ich habe mal die Mühe gemacht, ein kleines SQL-Skript zu erstellen, das das Caching aller Module auf 0 setzt, mit einen weiteren Skript kann das anschließend wieder zurückgestellt werden.
Um das Skript auszuführen, geht man in System :: SQL ausführen und fügt den entsprechenden SQL Code ein.

Zum Deaktivieren des Cachings lautet er:
INSERT INTO {databaseOwner}{objectQualifier}TabModuleSettings
  (TabModuleID,SettingName,SettingValue,CreatedByUserID,CreatedOnDate,LastModifiedByUserID,LastModifiedOnDate) 
 SELECT TabModuleID, N'SavedCacheTime', CacheTime, 2, GETDATE(), 2, GETDATE()
   FROM {databaseOwner}{objectQualifier}TabModules T
   WHERE CacheTime > 0UPDATE {databaseOwner}{objectQualifier}TabModules
 SET CacheTime = 0  WHERE CacheTime <> 0

Um die ursprüngliche Situatiuon wieder herzustellen, führt man danach folgenden Code aus:

UPDATE M
 SET M.CacheTime = S.SettingValue  FROM {databaseOwner}{objectQualifier}TabModules M
    INNER JOIN {databaseOwner}{objectQualifier}TabModuleSettings S on M.TabModuleID = S.TabModuleID WHERE S.SettingName = N'SavedCacheTime'  
DELETE FROM {databaseOwner}{objectQualifier}TabModuleSettings
 WHERE SettingName = N'SavedCacheTime'

Anschließend in den DNN Systemeinstellungen den Cache leeren und die Anwendung neu starten, schon sind alle Zeichen wieder da :)

Kommentare: 5

Tim van der Horst meint

Vielen Dank für diesen Retter-in-der-Not Workaround! Hat einwandfrei funktioniert. Seltsamerweise habe ich den Eindruck, die Seite ist ohne Caching schneller, aber der stammt wahrscheinlich nur von der Freude darüber, dass die Umlaute wieder da sind.
# 09.12.2009 10:05

P. L. meint

Yes, auch Dank von mir!. Wann soll denn 5.2.1 kommen?
# 21.12.2009 22:46

Sebastian Leupold meint

bald ;)
# 22.12.2009 02:09

Reza Davoodi meint

Danke! Das Caching in den Moduleinstellungen auf 0 setzen funktioniert wunderbar! Jetzt frage ich mich ob es okay wäre bei einer kleinen persönlichen Seite diese Lösung als Dauerlösung zu benützen und überhaupt auf upgraden zu verzichten? Upzugraden ist ja doch etwas Arbeit :-)
# 03.01.2010 11:46

Sebastian Leupold meint

Hallo Reza,
die Interims-Lösung beeinträchtigt etwas die Performance, aber Du kannst sie auch bis zum nächsten Sicherheitupdate verwenden, denn zumindest DNN 5.2.1 hat einen kleinen Upgrade-Fehler, da warte lieber bis 5.2.2.
Upgraden ist gar nicht so schwer: Dateien und Datenbank sichern, alle Dateien ins DNN-Verzeichnis entpacken und die Startseite aufrufen.
# 03.01.2010 13:53