Какая СУБД?
- В стандартном SQL имя, заключенное в двойные кавычки, является идентификатором с разделителями и может содержать любые символы.
- В MS SQL Server имя, заключенное вквадратные скобки - это идентификаторы с разделителями.
- В MySQL имя, заключенное в обратные метки, является идентификатором с разделителями.
Можно просто заключить имя в соответствующие маркеры.
У меня было чувство, что это не то, что вы хотели ...
В каком наборе кодов находится ваша строка?Похоже, это UTF-8 к тому времени, когда он попадает в мой браузер.Нужно ли вам иметь возможность однозначно инвертировать отображение?Это сложнее.
Вы можете использовать множество схем для отображения информации:
Один простой способ - просто закодировать все с помощью маркера (X)для защиты от начальных цифр:
XC5A1C3A1726B6136355F25262E
Один чуть менее простой способ заключается в шестнадцатеричном кодировании всего, что не является алфавитно-цифровым или подчеркиванием ASCII.
XC5A1C3A1rka65_25262E
Или, как следует из комментария, вы можете разработать таблицу сопоставления для акцентированных латинских букв - действительно, таблица сопоставления, должным образом инициализированная, будет самым быстрым подходом.Ввод - это символ в исходной строке;вывод - требуемый сопоставленный символ или символы.Если вы используете 8-битный набор символов, это полностью управляемо.Если вы используете полный Юникод, это намного менее управляемо (не в последнюю очередь, как вы сопоставляете все сланские слова Хана с ASCII?).
Или ...