Bug 307158 DBCS3.6: DBCS names are broken in Web Browser preference after Eclipse restart.
Build Identifier: I20100313-1044 DBCS names are broken in Web Browser preference after Eclipse restart. The broken DBCS must be the characters out of the default code page, such as U+20B9F, U+309A against Shift-JIS. This bug happens only under Windows 7, XP and so on. It does not happen under SLES11(linux). Reproducible: Always Steps to Reproduce: 1.Select [Window] -> [Preferences] -> [General] -> [Web Browser] 2.Click [New] and type U+20B9F U+30AB U+309A in the name field 3.Type a browser location and click OK 4.You may see the correct name (in figure1.jpg attached in this report.) 5.Restart Eclipse. 6.Select [Window] -> [Preferences] -> [General] -> [Web Browser] 7.You may see the broken name (in figure2.jpg attached in this report.)
bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java
/*******************************************************************************
 * Copyright (c) 2003, 2008 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - Initial API and implementation
 *******************************************************************************/
package org.eclipse.ui.internal.browser;
import java.io.ByteArrayInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Observable;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.XMLMemento;
/**
 * 
 */
public class BrowserManager extends Observable {