Сначала - краткое описание проблемы. Я пишу функцию JavaScript, чтобы поместить некоторую текстовую метку в холст SVG. Вот он:
function set_label(x,y,title)
{
var newTitle = document.createElementNS(svgNS,"text");
newTitle.setAttributeNS(null,"x",x);
newTitle.setAttributeNS(null,"y",y);
newTitle.setAttributeNS(null,"font-size","17px");
newTitle.setAttributeNS(null,"font-family","WinGreek");
var textNode = document.createTextNode(title);
newTitle.appendChild(textNode);
document.getElementById("viewport").appendChild(newTitle);
}
Я должен использовать греческий шрифт из-за моих проектных точек. Итак, я вызываю функцию:
set_label (10,50,'Qitos')
отобразится метка Ktitos - нет проблем.
Но - когда я пытаюсь вызвать вот так:
set_label (10,50,'QamÚraj')
или даже хуже:
set_label (10,50,'Θαρσανδαλα')
это должно отображать заголовок Θαρσανδαλα, сформированный из специальных символов - проблема accrue - символ utf-8 появляется, как я пишу его - с кодом: (
После некоторых исследований здесь, в другом подобном вопросе, я обнаружил, что если я конвертирую код UTF-8 в последовательность ESC, например \U00B0 - это должно решить эту проблему, но... - Я не могу понять, как это сделать и - как это сделать, если специальный символ находится в середине строки - например, второй пример