MySQL - Java - 无法处理特殊字符

时间:2015-07-28 15:06:55

标签: java php mysql character

我有一个JTextArea,我从中获取文本,并通过POST请求将其发送到PHP页面,该页面使用PDO和prepare语句将文本插入MySQL数据库。这适用于我可以直接输入JTextArea的所有内容。但是,当我将Word中的某些内容复制并粘贴到JTextArea中然后上传它时,它不起作用。

例如,如果我输入Word:“这是一个超长的破折号。”然后将其复制并粘贴到JTextArea中,并将其发送到PHP页面,将其上传到MySQL服务器,当我从MySQL服务器获取信息时(使用另一个PHP页面),它返回为“这是一个超级长的冲刺。

对于其他各种特殊字符也会发生这种情况,而不仅仅是长字符。

我能做些什么吗?

修改

我试图通过确保我的所有php文件都使用utf8连接到mysql来解决问题:

"mysql:host=$servername;dbname=$dbname;charset=utf8"

我也用

echo $_POST[xxx];

确保文本正确地从java进入,就是这样。当我检查什么是mysql数据库时,它显示为“这是一个超长的破折号”。我尝试使用解决方案中的fixUTF8函数来解决这个问题:SebastiánGrignoli的Detect encoding and make everything UTF-8。然而,结果我得到“这是一个超级长的冲刺”。

0 个答案:

没有答案