- Home /
UTF-8 for foreign language characters on GUI
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?
Thanks!
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 X$$anonymous$$L 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.
$$anonymous$$y code is like this:
var xmlDoc : XmlDocument = new XmlDocument();
var ta : TextAsset = Resources.Load(persistentSc.textsFile);
xmlDoc.LoadXml(ta.ToString());
var nodes: XmlNodeList = xmlDoc.SelectNodes("tutorial");
...
var aux : String;
aux = nodes[0].SelectSingleNode("text").InnerText;
By now aux already has no foreign characteres so I guess the problem could be in "ta".
Any help?
Thanks!
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.
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.
Like this:
public GUISkin guiSkin; // for in case you want to set it in your editor
void OnGUI()
{
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.