插入数据库中的表时遇到问题。运行的服务器是Ubuntu:
分销商ID:Ubuntu 描述:Ubuntu 12.04.2 LTS 发布:12.04 代号:精确
我用以下方法创建了一个包含数据库的数据库:
数据库创建 mysql>创建数据库test1234 CHARACTER SET latin1;
创建表 mysql> create table testtbl(test varchar(22)CHARACTER SET latin1);
插入 mysql>插入testtbl(测试)值('asdsdaæø');
Selecter: MySQL的> select * from testtbl;
+ -------------- +
|测试|
+ -------------- +
| |
| asdsda |
| Ã|Ã¥||
| Ã|Ã¥||
| asdadsÃ|Ã¥||
+ -------------- +
5行(0.00秒)
mysql Ver 14.14使用readline 6.2为debian-linux-gnu(x86_64)分发5.5.29
连接ID:427
当前数据库:test1234
当前用户:root @ localhost
SSL:未使用
当前寻呼机:stdout
使用outfile:''
使用分隔符:;
服务器版本:5.5.29-0ubuntu0.12.04.2-log(Ubuntu)
协议版本:10
连接:通过UNIX套接字的本地主机
服务器字符集:latin1
Db characterset:latin1
客户端字符集:latin1
Conn.characteretet:latin1
UNIX套接字:/var/run/mysqld/mysqld.sock
正常运行时间:12天19小时9分35秒
我也尝试过使用utf8但结果相同。
来自/var/log/mysql/mysql.log
130421 18:03:06 427查询插入testtbl(测试)值('asdads')
130421 18:03:08 427查询select * from testtbl
我已经搜索了整个互联网,但没有任何运气找到解决方案。
答案 0 :(得分:0)
您可能有一个运行UTF-8的浏览器/ SQL客户端,而数据库数据是拉丁文-1。
在处理字符编码时,您必须确保从数据源到屏幕的所有步骤都使用相同的编码。这包括:
如果结束点是网页:
一个好的建议是始终使用UTF-8,如果你真的不需要使用latin1。 UTF-8越来越成为各地的标准,大多数应用程序都将其作为标准使用。