base64编码要存储在数据库中的HTML编辑器文本

时间:2013-04-04 08:15:42

标签: mysql database oracle mariadb

我正在开发一个已经启动的Web项目,并注意到通过HTML编辑器生成的内容在存储到数据库之前使用base64编码。我想以前的开发人员正在这样做以防万一用户写了一些数据库引擎可能未知的字符,我的意思是没有安装字符集的语言,但我想知道这是一个很好的做法或行为。

这里的问题不是如何存储CLOB适合的一堆数据,而是如何处理未知字符。

有人能指出我正确的方向来存储通过HTML编辑器生成的HTML文本吗?我真的不得不为此烦恼,或者只是假设我的数据库将支持任何语言字符集吗?

由于

1 个答案:

答案 0 :(得分:0)

您需要做的是确保html页面和数据库字符集相同或数据库是html页面的超集。

优秀的网络程序员将确保网络服务器和html内容具有相同的字符集。

Web服务器charset在Web服务器配置文件中设置,例如在apache中:

AddDefaultCharset windows-1252

html页面字符集在元标记中定义为:

<meta http-equiv="content-type" content="text/html; charset=windows-1252"/>

然后确保数据库支持相同的字符集或者是超集。如果所有这些都很好,那么您将不需要将字符串转换为base64。

即使charsets不成功,也很有可能无需转换为base64。

浏览器和Web服务器根据其字符集转换字符。例如,激进符号在utf8中是1个字符,在windows-1252中它变为6个字符:“&amp;#8730”

我能给出的最佳建议是检查数据库,Web服务器和html页面中的字符集。并使用html扩展字符进行测试。