2011-03-07 210 views
7

我目前正在使用传统的经典ASP + MS-Access应用程序。我最近将所有.asp文件从ISO-8859(Windows)编码转换为UTF-8。如何将MS Access数据库编码转换为UTF-8?

我现在面临的问题是,由于编码不一致,存储在数据库内部的文本(具有重音字符的法语)在网页内部呈现时显示不正确。如何将我的MS Access数据库编码从ISO-8859转换为UTF-8?

+0

哪个版本的MS Access? –

+0

它是Access 2003. –

+0

Ctrl + H(替换) –

回答

1

最后我用文字出来我的数据库的Server.HTMLEncode。它彻底打破了我存储在那里的所有HTML代码,所以我必须写一个丑陋的黑客来避免将html标记转换为html安全的字符串。它现在的作品,但它当然不是最优雅的解决方案...

5

如何将我的MS Access数据库编码从ISO-8859转换为UTF-8?

你不知道。访问可以处理Unicode文本,但它不会将其存储为UTF-8。有许多方法可以直接将UTF-8编码文本插入到Access Text字段中,但这会导致奇怪的行为,如我的其他答案here所示。

对于ASP应用程序,只需使用编码为UTF-8的.asp页面,告诉IIS生成UTF-8输出(通过<%@ CODEPAGE = 65001 %>指令),并让IIS和Access OLEDB驱动程序处理“Access Unicode “和UTF-8。

对于Access,传统的ASP,和UTF-8的详细示例见我的答案在这里:

Capture and insert Unicode text (Cyrillic) into MS access database

重要提示

要知道,你不应该使用的访问数据库作为Web应用程序的后端数据存储; Microsoft 强烈建议不要使用(参考:here)。

相关问题