V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
demonchang
V2EX  ›  MySQL

数据库存储外国人名字中的点出问题了

  •  
  •   demonchang ·
    demonchang · 2016-11-08 12:11:22 +08:00 · 4316 次点击
    这是一个创建于 2936 天前的主题,其中的信息可能已经有所发展或是发生改变。

    俄罗斯军事专家瓦西里·卡申在为卫星网撰写的文章中就这种新型主战坦克的能力进行了评述

    比如上面的那句话。里面有句点。然后我采集的时候存入数据库的时候就不行。。。

    我的 mysql 数据库编码 utf8mb4

    新闻网连接 http://news.qq.com/a/20161108/010304.htm

    9 条回复    2016-11-09 13:02:35 +08:00
    imn1
        1
    imn1  
       2016-11-08 13:18:50 +08:00   ❤️ 1
    自己看看源代码吧
    <script>
    var sosoArticleKey = document.getElementById("sosoArticlKey"), sosoArticleValue = '';
    if(sosoArticlKey){
    sosoArticleKey.value = sosoArticlKey.replace("&#183;","·");
    sosoArticleKey.value = sosoArticlKey.replace("&#23301;","嬅");
    sosoArticleKey.value = sosoArticlKey.replace("&#23323;","嬛");
    sosoArticleKey.value = sosoArticlKey.replace("&#22247;","囧");
    sosoArticleKey.value = sosoArticlKey.replace("&#38229;","镕");

    sosoArticleValue = sosoArticleKey.value;
    }
    sosoArticleKey.onfocus = function(){
    if(sosoArticleKey.value == sosoArticleValue){
    sosoArticleKey.value = '';
    }
    }
    sosoArticleKey.onblur = function(){
    if(sosoArticleKey.value == ''){
    sosoArticleKey.value = sosoArticleValue;
    }
    }
    </script>
    kideny
        2
    kideny  
       2016-11-08 15:11:50 +08:00
    哈哈,这个问题神烦。
    身份证里面名字带点,我也遇到过。
    kideny
        3
    kideny  
       2016-11-08 15:12:29 +08:00
    对字段内容进行过滤的时候,也烦这个事情。
    demonchang
        4
    demonchang  
    OP
       2016-11-08 16:37:58 +08:00
    我现在解决方案就是存入了原文中的 `&#183;` 这个字符。这样就可以存进去了
    imn1
        5
    imn1  
       2016-11-08 16:59:19 +08:00
    主要问题是 gbk 没有这个字符,但 unicode/utf-8 有。所以纯显示没问题,但转码就不能一句完成,如果你想把原字符也存进数据库,需要后台程序先转换“&#183;”
    xmoiduts
        6
    xmoiduts  
       2016-11-09 12:27:23 +08:00 via Android
    23333 写 py 脚本的时候也遇到了这个问题,后来干脆不管了,直接显示为问号。
    demonchang
        7
    demonchang  
    OP
       2016-11-09 12:44:10 +08:00
    @xmoiduts 这也行。。。哈哈哈
    5 楼说的对。数据库要想存元自负。需要各种转换先
    demonchang
        8
    demonchang  
    OP
       2016-11-09 12:44:38 +08:00
    元自负 -> 原字符
    xmoiduts
        9
    xmoiduts  
       2016-11-09 13:02:35 +08:00 via Android
    @demonchang 反正就是个 调 ffmpeg 转格式的脚本,拖动即转码。自己玩玩没啥要求😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2785 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:52 · PVG 21:52 · LAX 05:52 · JFK 08:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.