Заказал сайт, написал подробнейшее ТЗ, где одним из первых и основных требований была возможность нормально работать с любыми символами Юникод, какие только имеются в стандартном кроссбраузерном наборе шрифтов. Разработчик на мою голову предложил ModX…
При первой же попытке ввести в редактор готовый, нормально оттипографированный код обнаружилось, что TinyMCE творит с ним нечто невообразимое. Все символы, которые недоступны его пониманию (а у разработчиков не хватило сил и желания обучить его всей гигантской таблице) преобразуются во что попало или уничтожаются совсем. Уже полгода канстругдар сайта кормит сказками о том, что отучить редактор от обработки готового кода невозможно в принципе, хоть указывай ему
raw, хоть
named. Пытался сам читать то, что в TinyMCE именуют очему-то документацией, однако ровным счётом ничего внятного на эту тему там не нашёл… То есть можно, конечно, указать
numeric, но каково с таким сырцом потом работать? Я же не браузер, чтобы читать текст, изложенный в такой нотации!
Причём, судя по всему, творцы TinyMCE уверены, что так и надо, так и было задумано, поскольку и в их демоверсии
http://tinymce.moxiecode.com/examples/full.php происходит то же самое. Вввожу, например,
<p>
<table border=1 style="text-align: center; font-family: Verdana, Helvetica, Arial, sans-serif">
<caption> Unocode символы из множества: ['8192-8319'] </caption>
<tr><th>десятичный код</th><th>шестнадцетиричный код</th><th>символ</th><th>символьное обозначение</th></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td> </td></tr>
<tr><td>   </td><td>   </td><td> </td><td> </td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td> </td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td> ​ </td><td> ​ </td><td> </td><td></td></tr>
<tr><td> ‌ </td><td> ‌ </td><td> </td><td>‌</td></tr>
<tr><td> ‍ </td><td> ‍ </td><td> </td><td>‍</td></tr>
<tr><td> ‎ </td><td> ‎ </td><td> </td><td>‎</td></tr>
<tr><td> ‏ </td><td> ‏ </td><td> </td><td>‏</td></tr>
<tr><td> ‐ </td><td> ‐ </td><td> ‐ </td><td></td></tr>
<tr><td> ‑ </td><td> ‑ </td><td> ‑ </td><td></td></tr>
<tr><td> ‒ </td><td> ‒ </td><td> ‒ </td><td></td></tr>
<tr><td> – </td><td> – </td><td> – </td><td>–</td></tr>
<tr><td> — </td><td> — </td><td> — </td><td>—</td></tr>
<tr><td> ― </td><td> ― </td><td> ― </td><td></td></tr>
<tr><td> ‖ </td><td> ‖ </td><td> ‖ </td><td></td></tr>
<tr><td> ‗ </td><td> ‗ </td><td> ‗ </td><td></td></tr>
<tr><td> ‘ </td><td> ‘ </td><td> ‘ </td><td>‘</td></tr>
<tr><td> ’ </td><td> ’ </td><td> ’ </td><td>’</td></tr>
<tr><td> ‚ </td><td> ‚ </td><td> ‚ </td><td>‚</td></tr>
<tr><td> ‛ </td><td> ‛ </td><td> ‛ </td><td></td></tr>
<tr><td> “ </td><td> “ </td><td> “ </td><td>“</td></tr>
<tr><td> ” </td><td> ” </td><td> ” </td><td>”</td></tr>
<tr><td> „ </td><td> „ </td><td> „ </td><td>„</td></tr>
<tr><td> ‟ </td><td> ‟ </td><td> ‟ </td><td></td></tr>
<tr><td> † </td><td> † </td><td> † </td><td>†</td></tr>
<tr><td> ‡ </td><td> ‡ </td><td> ‡ </td><td>‡</td></tr>
<tr><td> • </td><td> • </td><td> • </td><td>•</td></tr>
<tr><td> ‣ </td><td> ‣ </td><td> ‣ </td><td></td></tr>
<tr><td> ․ </td><td> ․ </td><td> ․ </td><td></td></tr>
<tr><td> ‥ </td><td> ‥ </td><td> ‥ </td><td></td></tr>
<tr><td> … </td><td> … </td><td> … </td><td>…</td></tr>
<tr><td> ‧ </td><td> ‧ </td><td> ‧ </td><td></td></tr>
<tr><td> 
 </td><td> 
 </td><td>
</td><td></td></tr>
<tr><td> 
 </td><td> 
 </td><td>
</td><td></td></tr>
<tr><td> ‪ </td><td> ‪ </td><td> </td><td></td></tr>
<tr><td> ‫ </td><td> ‫ </td><td> </td><td></td></tr>
<tr><td> ‬ </td><td> ‬ </td><td> </td><td></td></tr>
<tr><td> ‭ </td><td> ‭ </td><td> </td><td></td></tr>
<tr><td> ‮ </td><td> ‮ </td><td> </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td> ‰ </td><td> ‰ </td><td> ‰ </td><td>‰</td></tr>
<tr><td> ‱ </td><td> ‱ </td><td> ‱ </td><td></td></tr>
<tr><td> ′ </td><td> ′ </td><td> ′ </td><td>′</td></tr>
<tr><td> ″ </td><td> ″ </td><td> ″ </td><td>″</td></tr>
<tr><td> ‴ </td><td> ‴ </td><td> ‴ </td><td></td></tr>
<tr><td> ‵ </td><td> ‵ </td><td> ‵ </td><td></td></tr>
<tr><td> ‶ </td><td> ‶ </td><td> ‶ </td><td></td></tr>
<tr><td> ‷ </td><td> ‷ </td><td> ‷ </td><td></td></tr>
<tr><td> ‸ </td><td> ‸ </td><td> ‸ </td><td></td></tr>
<tr><td> ‹ </td><td> ‹ </td><td> ‹ </td><td>‹</td></tr>
<tr><td> › </td><td> › </td><td> › </td><td>›</td></tr>
<tr><td> ※ </td><td> ※ </td><td> ※ </td><td></td></tr>
<tr><td> ‼ </td><td> ‼ </td><td> ‼ </td><td></td></tr>
<tr><td> ‽ </td><td> ‽ </td><td> ‽ </td><td></td></tr>
<tr><td> ‾ </td><td> ‾ </td><td> ‾ </td><td>‾</td></tr>
<tr><td> ‿ </td><td> ‿ </td><td> ‿ </td><td></td></tr>
<tr><td> ⁀ </td><td> ⁀ </td><td> ⁀ </td><td></td></tr>
<tr><td> ⁁ </td><td> ⁁ </td><td> ⁁ </td><td></td></tr>
<tr><td> ⁂ </td><td> ⁂ </td><td> ⁂ </td><td></td></tr>
<tr><td> ⁃ </td><td> ⁃ </td><td> ⁃ </td><td></td></tr>
<tr><td> ⁄ </td><td> ⁄ </td><td> ⁄ </td><td>⁄</td></tr>
<tr><td> ⁅ </td><td> ⁅ </td><td> ⁅ </td><td></td></tr>
<tr><td> ⁆ </td><td> ⁆ </td><td> ⁆ </td><td></td></tr>
<tr><td> ⁇ </td><td> ⁇ </td><td> ⁇ </td><td></td></tr>
<tr><td> ⁈ </td><td> ⁈ </td><td> ⁈ </td><td></td></tr>
<tr><td> ⁉ </td><td> ⁉ </td><td> ⁉ </td><td></td></tr>
<tr><td> ⁊ </td><td> ⁊ </td><td> ⁊ </td><td></td></tr>
<tr><td> ⁋ </td><td> ⁋ </td><td> ⁋ </td><td></td></tr>
<tr><td> ⁌ </td><td> ⁌ </td><td> ⁌ </td><td></td></tr>
<tr><td> ⁍ </td><td> ⁍ </td><td> ⁍ </td><td></td></tr>
<tr><td> ⁎ </td><td> ⁎ </td><td> ⁎ </td><td></td></tr>
<tr><td> ⁏ </td><td> ⁏ </td><td> ⁏ </td><td></td></tr>
<tr><td> ⁐ </td><td> ⁐ </td><td> ⁐ </td><td></td></tr>
<tr><td> ⁑ </td><td> ⁑ </td><td> ⁑ </td><td></td></tr>
<tr><td> ⁒ </td><td> ⁒ </td><td> ⁒ </td><td></td></tr>
<tr><td> ⁓ </td><td> ⁓ </td><td> ⁓ </td><td></td></tr>
<tr><td> ⁔ </td><td> ⁔ </td><td> ⁔ </td><td></td></tr>
<tr><td> ⁕ </td><td> ⁕ </td><td> ⁕ </td><td></td></tr>
<tr><td> ⁖ </td><td> ⁖ </td><td> ⁖ </td><td></td></tr>
<tr><td> ⁗ </td><td> ⁗ </td><td> ⁗ </td><td></td></tr>
<tr><td> ⁘ </td><td> ⁘ </td><td> ⁘ </td><td></td></tr>
<tr><td> ⁙ </td><td> ⁙ </td><td> ⁙ </td><td></td></tr>
<tr><td> ⁚ </td><td> ⁚ </td><td> ⁚ </td><td></td></tr>
<tr><td> ⁛ </td><td> ⁛ </td><td> ⁛ </td><td></td></tr>
<tr><td> ⁜ </td><td> ⁜ </td><td> ⁜ </td><td></td></tr>
<tr><td> ⁝ </td><td> ⁝ </td><td> ⁝ </td><td></td></tr>
<tr><td> ⁞ </td><td> ⁞ </td><td> ⁞ </td><td></td></tr>
<tr><td>   </td><td>   </td><td> </td><td></td></tr>
<tr><td> ⁠ </td><td> ⁠ </td><td> </td><td></td></tr>
<tr><td> ⁡ </td><td> ⁡ </td><td> </td><td></td></tr>
<tr><td> ⁢ </td><td> ⁢ </td><td> </td><td></td></tr>
<tr><td> ⁣ </td><td> ⁣ </td><td> </td><td></td></tr>
<tr><td> ⁤ </td><td> ⁤ </td><td> </td><td></td></tr>
<tr><td> ⁥ </td><td> ⁥ </td><td> </td><td></td></tr>
<tr><td> ⁦ </td><td> ⁦ </td><td> </td><td></td></tr>
<tr><td> ⁧ </td><td> ⁧ </td><td> </td><td></td></tr>
<tr><td> ⁨ </td><td> ⁨ </td><td> </td><td></td></tr>
<tr><td> ⁩ </td><td> ⁩ </td><td> </td><td></td></tr>
<tr><td>  </td><td>  </td><td> </td><td></td></tr>
<tr><td>  </td><td>  </td><td> </td><td></td></tr>
<tr><td>  </td><td>  </td><td> </td><td></td></tr>
<tr><td>  </td><td>  </td><td> </td><td></td></tr>
<tr><td>  </td><td>  </td><td> </td><td></td></tr>
<tr><td>  </td><td>  </td><td> </td><td></td></tr>
<tr><td> ⁰ </td><td> ⁰ </td><td> ⁰ </td><td></td></tr>
<tr><td> ⁱ </td><td> ⁱ </td><td> ⁱ </td><td></td></tr>
<tr><td> ⁲ </td><td> ⁲ </td><td> </td><td></td></tr>
<tr><td> ⁳ </td><td> ⁳ </td><td> </td><td></td></tr>
<tr><td> ⁴ </td><td> ⁴ </td><td> ⁴ </td><td></td></tr>
<tr><td> ⁵ </td><td> ⁵ </td><td> ⁵ </td><td></td></tr>
<tr><td> ⁶ </td><td> ⁶ </td><td> ⁶ </td><td></td></tr>
<tr><td> ⁷ </td><td> ⁷ </td><td> ⁷ </td><td></td></tr>
<tr><td> ⁸ </td><td> ⁸ </td><td> ⁸ </td><td></td></tr>
<tr><td> ⁹ </td><td> ⁹ </td><td> ⁹ </td><td></td></tr>
<tr><td> ⁺ </td><td> ⁺ </td><td> ⁺ </td><td></td></tr>
<tr><td> ⁻ </td><td> ⁻ </td><td> ⁻ </td><td></td></tr>
<tr><td> ⁼ </td><td> ⁼ </td><td> ⁼ </td><td></td></tr>
<tr><td> ⁽ </td><td> ⁽ </td><td> ⁽ </td><td></td></tr>
<tr><td> ⁾ </td><td> ⁾ </td><td> ⁾ </td><td></td></tr>
<tr><td> ⁿ </td><td> ⁿ </td><td> ⁿ </td><td></td></tr>
</table></p>
,
и получаю… ага, что получаю, показать уже не могу: число символов на одно сообщение в форуме ограничено. В общем, мусор получаю (каждый, кому интересно, может повторить эксперимент с приведенным кодом). >:(
Кому-нибудь известно решение?