[英]Best Way to Store XML in MySQL
我正在获取XML API响应,解析我需要的数据,但想在MySQL中存储完整的XML响应,以供以后添加数据。
我最初将XML存储在BLOB中,但发现有时值中的特殊字符会破坏INSERT。
因此,我首先将具有htmlentities的XML转换为BLOB,以保持原始API响应数据的完整性。 是这样做的好方法,还是有更好的方法?
正确转义,任何数据可以被INSERTed
到一个BLOB
。 htmlentities
不是这样。 对于mysqli
API,请使用mysqli :: real_escape_string。 对于PDO,请使用绑定。
如果您在Windows上运行,请确保以二进制模式获取数据,否则在读取过程中CR / LF可能会被“修复”。
理论上XML
应该是UTF-8,因此只需将TEXT CHARACTER SET utf8mb4
代替BLOB
。
如果所有其他方法均失败,请考虑(在客户端中)将Blob转换为Base64。 它将大4/3。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.