Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在MySQL中存储韩文字符_Java_Mysql_Utf 8_Phpmyadmin - Fatal编程技术网

Java 在MySQL中存储韩文字符

Java 在MySQL中存储韩文字符,java,mysql,utf-8,phpmyadmin,Java,Mysql,Utf 8,Phpmyadmin,我有一个表单,但每次我提交韩文字符时,它都会以问号的形式出现在我的phpmyadmin数据库中,或者非常复杂。我希望能够在MySQL数据库表中使用拉丁和亚洲字符提交条目,我还在Eclipse中使用java 我已经做了以下工作: 在我的jsp文件中添加了这个 contentType=“text/html;charset=UTF-8”pageEncoding=“UTF-8” 修改了myserver.xml文件中的连接器标记,以便 URIEncoding=“UTF-8” 修改了连接的URL conn

我有一个表单,但每次我提交韩文字符时,它都会以问号的形式出现在我的phpmyadmin数据库中,或者非常复杂。我希望能够在MySQL数据库表中使用拉丁和亚洲字符提交条目,我还在Eclipse中使用java

我已经做了以下工作:

  • 在我的
    jsp
    文件中添加了这个

    contentType=“text/html;charset=UTF-8”pageEncoding=“UTF-8”

  • 修改了my
    server.xml
    文件中的连接器标记,以便
    URIEncoding=“UTF-8”

  • 修改了连接的URL

    conn=DriverManager.getConnection(“jdbc:mysql://localhost/login?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8“,
    "根",

  • 在Servlet中处理表单数据的我的doPost方法中添加了这一点

    response.setContentType(“text/html;charset=UTF-8”)

以及下面的屏幕截图。非常感谢您的帮助


我建议您将方程式中除数据库之外的所有内容都去掉,以确保问题真正出在数据库上。首先检查十六进制的值:

SELECT HEX(column_name) FROM table_name
如果在看到“”的地方看到“3F”,则很可能是来自web应用程序的数据有问题(更多帮助,如使用
设置名称
和更改MySQL INI文件)。您还应该尝试手动将十六进制插入到数据库表中,并将其正常地和十六进制地选择回来,以确保数据正确地输入和输出

如果仍怀疑数据库有问题,请确保表正确编码字符集(即默认字符集),例如(或):


当尝试使用utf8/utf8mb4时,如果您看到问号(普通的,不是黑钻石)

  • 要存储的字节未编码为utf8。解决这个问题
  • 数据库中的列是字符集utf8(或utf8mb4)。解决这个问题
  • 此外,检查读取期间的连接是否为utf8

尝试使用utf8/utf8mb4时,如果您看到带有问号的黑钻石, 其中一种情况是:

案例1(原始字节不是utf8):

  • 要存储的字节未编码为utf8。解决这个问题
  • 插入
    选择
    的连接(或
    设置名称
    )不是utf8/utf8mb4。解决这个问题
  • 另外,检查数据库中的列是否为字符集utf8(或utf8mb4)
案例2(原始字节为utf8):

  • 选择
    的连接(或
    设置名称
    )不是utf8/utf8mb4。解决这个问题
  • 另外,检查数据库中的列是否为字符集utf8(或utf8mb4)
只有当浏览器设置为
meta charset=UTF-8>时才会出现黑钻石


注:euckr与utf8不同。它可以处理,但需要不同的步骤。

请提供屏幕截图(或剪切粘贴)以代替韩文字符。谢谢。我的问题是连接没有对数据进行编码,所以这确实是我的web应用程序的问题。我用这个修好了,谢谢。这有助于引导我关注问题可能是什么:更完整的是我从中得到的问答:
SHOW CREATE TABLE table_name