小编Pac*_*cer的帖子

存储过程中非法混合的归类(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)

  1. 所有的表都在utf_unicode_ci.

    我这样做是为了检查

    SELECT table_schema, table_name, column_name, character_set_name, collation_name
        FROM information_schema.columns
    WHERE collation_name <> 'utf8_unicode_ci' AND table_schema LIKE 'my_database'
        ORDER BY table_schema, table_name, ordinal_position;
    
    Run Code Online (Sandbox Code Playgroud)

    并转换每个表以防万一

    ALTER TABLE `my_database`.`table_name` DEFAULT COLLATE utf8_unicode_ci;      
    ALTER TABLE `my_database`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;         
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我的数据库整理设置在utf8_unicode_ci.

    charsets是

    mysql> show variables like 'char%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results …

mysql unicode ubuntu collation utf-8

14
推荐指数
1
解决办法
4万
查看次数

将字符串编码为字符代码

我想将电子邮件地址编码为其相应的字符代码,因此在打印时,浏览器会解释字符代码,但机器人会获取编码的字符串而不是解释的字符串。

例如(1):

abc@abc.com
Run Code Online (Sandbox Code Playgroud)

应按 (2) 发送到浏览器(添加空格以便浏览器显示):

&#97 ;&#98 ;&#99 ;&#64 ;&#97 ;&#98 ;&#99 ;&#46 ;&#99 ;&#111 ;&#109 ;
Run Code Online (Sandbox Code Playgroud)

所以人类读(1)而网络机器人读(2)

应该有一个简单的功能或方法来做到这一点,但找不到。

php string character

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

character ×1

collation ×1

mysql ×1

php ×1

string ×1

ubuntu ×1

unicode ×1

utf-8 ×1