diff --git a/core/src/main/java/com/muwire/core/util/DataUtil.java b/core/src/main/java/com/muwire/core/util/DataUtil.java
index ea795963..29e288f6 100644
--- a/core/src/main/java/com/muwire/core/util/DataUtil.java
+++ b/core/src/main/java/com/muwire/core/util/DataUtil.java
@@ -63,7 +63,7 @@ public class DataUtil {
((int)header[2] & 0xFF);
}
- static String readi18nString(byte [] encoded) {
+ public static String readi18nString(byte [] encoded) {
if (encoded.length < 2)
throw new IllegalArgumentException("encoding too short $encoded.length");
int length = ((encoded[0] & 0xFF) << 8) | (encoded[1] & 0xFF);
diff --git a/webui/src/main/java/com/muwire/webui/FileManager.java b/webui/src/main/java/com/muwire/webui/FileManager.java
index b98b73ac..46bcf033 100644
--- a/webui/src/main/java/com/muwire/webui/FileManager.java
+++ b/webui/src/main/java/com/muwire/webui/FileManager.java
@@ -21,6 +21,7 @@ import com.muwire.core.files.FileTree;
import com.muwire.core.files.FileTreeCallback;
import com.muwire.core.files.FileUnsharedEvent;
import com.muwire.core.files.UICommentEvent;
+import com.muwire.core.util.DataUtil;
import net.i2p.data.Base64;
@@ -136,7 +137,7 @@ public class FileManager {
return;
UICommentEvent e = new UICommentEvent();
e.setOldComment(sf.getComment());
- sf.setComment(comment);
+ sf.setComment(Base64.encode(DataUtil.encodei18nString(comment)));
e.setSharedFile(sf);
revision++;
core.getEventBus().publish(e);
diff --git a/webui/src/main/java/com/muwire/webui/FilesServlet.java b/webui/src/main/java/com/muwire/webui/FilesServlet.java
index e4a602af..3c90f059 100644
--- a/webui/src/main/java/com/muwire/webui/FilesServlet.java
+++ b/webui/src/main/java/com/muwire/webui/FilesServlet.java
@@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.muwire.core.SharedFile;
+import com.muwire.core.util.DataUtil;
import com.muwire.core.files.FileListCallback;
import net.i2p.data.Base64;
@@ -106,8 +107,10 @@ public class FilesServlet extends HttpServlet {
sb.append("").append(Util.escapeHTMLinXML(sf.getFile().getName())).append("");
sb.append("").append(Util.escapeHTMLinXML(sf.getCachedPath())).append("");
sb.append("").append(DataHelper.formatSize2Decimal(sf.getCachedLength())).append("B").append("");
- if (sf.getComment() != null)
- sb.append("").append(Util.escapeHTMLinXML(sf.getComment())).append("");
+ if (sf.getComment() != null) {
+ String comment = DataUtil.readi18nString(Base64.decode(sf.getComment()));
+ sb.append("").append(Util.escapeHTMLinXML(comment)).append("");
+ }
// TODO: other stuff
sb.append("");
}