My project has some foreign characters like "á" or "ñ" but the GUI does not display them.
I guess is because the mMnodevelop Editor tool that came along with unity is not encoding my scripts with UTF-8.
Well I'm unable to find a way to do so, I check all the options in the editor and I couldn't find it, can somebody please point it out for me?
Answer by Kryptos
Aug 07, 2012 at 09:33 AM
Unity does not use UTF-8 but UTF-16. There is an option in Monodevelop to set the default character encoding (don't remember where).
Thanks for the answer, but some issues remain :( If I use the guiSkin tip from afromofu It works as soon as I set the text in my script, but it still doesn't work with text that I bring from an XML file.
I create the xml with notepad++ so I sure I encode it with UTF-8 (besides the headline of the file is ), so I guess the problem is in the way I read the xml file.
My code is like this:
var xmlDoc : XmlDocument = new XmlDocument();
var ta : TextAsset = Resources.Load(persistentSc.textsFile);
var nodes: XmlNodeList = xmlDoc.SelectNodes("tutorial");
var aux : String;
aux = nodes.SelectSingleNode("text").InnerText;
By now aux already has no foreign characteres so I guess the problem could be in "ta".
Like I said UTF-8 is not fully supported. You have to encode your file with UTF-16. In Notepad++ this will be UCS-2 Little Endian.
YES!, that works! Thanks a lot Kryptos!
Depends on what language you're using...UTF-8 works fine for Unityscript, but not C#.
Answer by afromofu
Aug 07, 2012 at 02:29 AM
Here is how I did to use Unicode for GUI in my projects.
Create a GUISkin and set your font in 'Font'.
Use the GUISkin in OnGUI. Look at the code below.
public GUISkin guiSkin; // for in case you want to set it in your editor
GUI.skin = guiSkin;
// GUI.Label(new Rect(10.0f, 400.0f, 500.0f, 500.0f), "something");
If it doesn't work, select the font you're using and set 'Unicode' in the 'Character' property.
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a site navigation guide.
If you are a new user, check out our FAQ for more information.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
Answers and Comments
10 People are following this question.
Question about foreign language characters on GUI
UTF-8 Support in Unity iPhone 1.6?
Umlaut shown as ?? in GUILayout.Button
Text Encoding, WWW.UnEscapeURL
GUI.PasswordField "•" makes "?"