【问题标题】:Inserting spanish text in mysql在mysql中插入西班牙语文本
【发布时间】:2016-04-16 02:11:45
【问题描述】:

我在 Java 中执行 HTTP GET 调用以获取可能包含西班牙语字符的内容,例如:Ñañez

但是我从 Mysql 得到的响应是 - Ã'añez 到目前为止,我在网上搜索并执行了以下操作:

  1. 在连接字符串中附加 utf-8 作为编码(使用 Java) jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8

  2. 更新了表格的编码 ALTER TABLE test CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

问题仍然存在.. 我有什么遗漏吗??

服务器是Tomcat 6

【问题讨论】:

  • 使用 SQL 客户端直接针对 SQL 服务器执行查询时,结果如何?

标签: java mysql utf-8


【解决方案1】:

尝试更改表格列

ALTER TABLE `test` CHANGE `columnname` `columnname` VARCHAR(200) 
    CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL; 

【讨论】:

    【解决方案2】:

    您必须在 mysql 中插入查询之前运行此查询:

    SET NAMES 'utf8'
    

    【讨论】:

      【解决方案3】:

      Mojibake通常是由

      引起的
      • 客户端中的字节已正确编码为 utf8(良好)。
      • 您可能默认连接到SET NAMES latin1(或set_charset('latin1') 或...)。 (应该是utf8。)
      • 表格中的列可能是CHARACTER SET utf8,也可能不是,但应该是这样。

      在连接字符串中包含characterEncoding=utf-8

      【讨论】:

        猜你喜欢
        • 2012-07-08
        • 2017-01-05
        • 1970-01-01
        • 1970-01-01
        • 2012-11-24
        • 1970-01-01
        • 2021-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多