提交表单时,文本区域中的信息将保存到我的数据库中。有一种情况是在该字段中显示以下字符。
E.g。
• Text
如果我使用java从数据库中提取数据,它看起来像:
�?� Text
我猜它与字符编码有关。将此标记
<meta charset="UTF-8">
添加到我的页面顶部会修复它吗?或者,在将值保存到数据库之前,我可以使用文本区域进行清理吗?
这不是我知道如何自己重现我只是在监视数据库时看到它。任何有关该主题的信息或启示都将受到高度赞赏。
答案 0 :(得分:2)
也许,你必须将MySQL连接设置为UTF-8 例如PHP / MySQLi和MySQL:
$utf8_mysqli = $mysqli ->set_charset("utf8");
无编码:
> INSERT INTO `table` (test) VALUES ("Max Ämerich"), ("50 €");
--------------------
| test | ai |
====================
| Max Ämerich | 1 |
| 50 € | 2 |
====================
使用编码
> INSERT INTO `table` (test) VALUES ("Max ämerich"), ("50 €");
-------------------------
| test | ai |
=========================
| Max ämerich | 1 |
| 50 € | 2 |
=========================
现在尝试选择
SELECT * FROM
table
WHERE test =&#34; 50€&#34;;
如果值已编码,则返回0行。