我写了一个关于 emysql 编码的问题,在这里得到了正确的答案。答案指出了另一个问题......
我正在尝试将 iPhone 表情符号存储到数据库中...
当我做 :
Query = io_lib:format("UPDATE Users SET c=\"~s\" WHERE id=~B", [C, Id]),
emysql:execute(mydb, Query).
一切正常...
但是有:
emysql:prepare(update_c, <<"UPDATE Users SET c=? WHERE id=?">>),
emysql:execute(mydb, update_c, [C, Id]).
我正在检索 Mojibake。编辑使用正确的术语
我正在连接:
emysql:add_pool(my_db, 3, "login", "password", "db.mydomain.com", 3306, "MyTable", latin1)
不幸的是,我不能使用 utf8,因为以前的软件使用数据库并以这种方式存储表情符号,如果我使用 utf8,它将适用于新系统,但不适用于旧系统插入的行。
编辑:
我真的很想使用准备好的语句,这将有效地防止 SQL 注入。