我需要转义所有特殊字符并替换国家字符并获取表格名称的“纯文本”。
string getTableName(string name)
我的字符串可能是“šárka65_%&。”,我希望得到我可以在我的数据库中用作表名的字符串。
答案 0 :(得分:2)
哪个DBMS?
您只需选择将名称括在适当的标记中即可。
我有一种不是你想要的感觉......
你的字符串是什么代码集?它到达我的浏览器时似乎是UTF-8。您是否需要能够明确地反转映射?那更难。
您可以使用许多方案来映射信息:
一个简单的想法就是对所有内容进行十六进制编码,使用标记(X)来防止前导数字:
XC5A1C3A1726B6136355F25262E
一个稍微不那么简单的意思是十六进制编码任何不是ASCII字母数字或下划线的东西。
XC5A1C3A1rka65_25262E
或者,正如评论建议的那样,您可以为重音拉丁字母设计一个映射表 - 实际上,适当初始化的映射表将是最快的方法。输入是源字符串中的字符;输出是所需的映射字符。如果使用8位字符集,则完全可以管理。如果你使用完整的Unicode,那么它的可管理性要差得多(尤其是,你如何将所有的汉语音节都映射到ASCII?)。
或......