MYSQL关于字符编码方面的存储原理
* mysql首先将拿到的数据转换为character_set_client指定的编码格式,然后转换为 character_set_connection指定的格式,最后再将数据存储到数据库,存储格式为character_set_database所指定的格式;
* 从数据库读数据时,将数据库格式转换为character_set_results指定的格式,再发送给外部程序,这就要求客户端程序和character_set_results编码格式相同;
* 为了避免引起乱码问题,建议在创建数据库时先设置编码格式:SET NAMES 'utf8',这条命令相当于以下三条命令:
* SET character_set_client = 'utf8';
* SET character_set_connection = 'utf8';
* SET character_set_results = 'utf8';
* 同时从数据库select数据时,设置编码格式:SET NAMES 'utf8',网上说执行insert,update操作时似乎不需要设置,我的没设置没问题;
* 网上说用utf8存储datetime字段出错且在utf8编码下无法正常显示,但在gb2312下能正常显示
相关文档:
mysql 起动错误解决办法- -
Access denied for user ''@'localhost' to d ......
1.struts.xml中设置
<constant name="struts.il8n.encoding" value="UTF-8"></constant>
2.jsp页面设置
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
3.数据库连接url
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=u ......
MySQL识别下列转义字符:
\0
一个ASCII 0 (NUL)字符。
\n
一个新行符。
\t &nb ......
最近别人在给我 sql 文件时简单的提了下 导入/导出 命令,在此基础上学习了下,总结到 myhere。
规定:
用户名:db_user
帐号: db_pass
数据库: db_name
表: table_name_1, table_name_2
说明: 一些操作需要有适当的权限。
1. ......