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
if (instance == null)
			return;
		instance.dispose();
	}
	protected void dispose() {
	    InstanceScope instanceScope = new InstanceScope();
		IEclipsePreferences prefs = instanceScope.getNode(WebBrowserUIPlugin.PLUGIN_ID);
		prefs.removePreferenceChangeListener(pcl);
	}
	public IBrowserDescriptorWorkingCopy createExternalWebBrowser() {
		return new BrowserDescriptorWorkingCopy();
	}	
	public List getWebBrowsers() {
		if (browsers == null)
			loadBrowsers();
		return new ArrayList(browsers);
	}
	protected void loadBrowsers() {
		Trace.trace(Trace.FINEST, "Loading web browsers"); 
		
		String xmlString = Platform.getPreferencesService().getString
		    (WebBrowserUIPlugin.PLUGIN_ID,  "browsers", null, null); 
		if (xmlString != null && xmlString.length() > 0) {
			browsers = new ArrayList();
			
			try {
				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes());
				Reader reader = new InputStreamReader(in);
				IMemento memento = XMLMemento.createReadRoot(reader);