zoukankan      html  css  js  c++  java
  • [openfire]中文乱码

    使用openfire时,突然发现我的离线消息中文变成了问号,而在线的消息却很正常,于是去看数据库ofofline那个数据库,因为他是记录离线消息的,发现里面存的就是乱码,这就肯定是Mysql数据库的问题了。于是网上找,发现这个还挺全http://nopainnogain.javaeye.com/blog/737361;其提出

    解决办法其实也很简单,首先要保证你为openfire创建的数据库编码是utf8的,建表语句如下:

    create database openfire default character set utf8 default collate utf8_general_ci

    当你原来就创建好数据库时,你可以用:

     alter database openfire default character set utf8 default collate utf8_general_ci;

    其次,在初始化openfire数据库,即第一次配置openfire服务器时,在连接数据库那里的连接串要加入字符编码格式,必须在连接里增加UTF8的编码要求,连接字符串设置如下:

    jdbc:mysql://127.0.0.1:3306/openfire?useUnicode=true&characterEncoding=utf8

    如果已经安装完成,这个配置也是可以改动的,直接到openfire的安装目录下,找到conf/openfire.xml这样一个文件,打开找到如下的XML节,修改其中的serverURL即可

    <database>
    <defaultProvider>
    <driver>com.mysql.jdbc.Driver</driver>
    <serverURL>jdbc:mysql://127.0.0.1:3306/openfire?useUnicode=true&amp;characterEncoding=utf8</serverURL>

    注意:由于&具有特殊含义,因此原&符号必须被转义为&amp;

       我直接搞了首先,没好,又改了其次,发现就根本不往数据库里写了,我靠我郁闷了,于是我觉得其次应该是有问题的,后来直接改了maysql的配置,不用默认的编码用utf-8编码,重写安装openfire就ok了,但是如果是已经有很多数据你再去安装那不是要奔溃了吗,于是

    结论:安装数据库的时候最好直接把编码改为utf-8的,这样创建database、table和字段就会按默认的编码进行编码。这样就不会出现这样中文乱码的问题了。

    困难是老天给我们提高的机会,坚定不移勇敢地去攻克,不要退缩,加油!
  • 相关阅读:
    A1052. Linked List Sorting (25)
    A1032. Sharing (25)
    A1022. Digital Library (30)
    A1071. Speech Patterns (25)
    A1054. The Dominant Color (20)
    A1060. Are They Equal (25)
    A1063. Set Similarity (25)
    电子码表
    矩阵键盘
    对象追踪、临时对象追踪、绝对坐标与相对坐标
  • 原文地址:https://www.cnblogs.com/merlini/p/3884820.html
Copyright © 2011-2022 走看看