在我的数据库中插入一个表时,我遇到了一个问题。运行的服务器是Ubuntu:
分销商ID: Ubuntu描述: Ubuntu 12.04.2 LTS版本: 12.04代号: precise
我用下面的方法创建了一个只有一个表的数据库:
数据库创建mysql>create数据库test1234字符集latin1;
表创建字符集testtbl (test varchar(22) mysql>create latin1);
将mysql>insert插入到testtbl (测试)值(‘asdsdaóø’)中;
选择器: mysql> select * from testtbl;
+
测试
+
||
asdsda
?元
?元
asdads asdads
+
集合中的5行(0.00秒)
MySQLV14.14Distrib5.5.29,用于debian-linux-gnu (x86_64),使用readline 6.2
连接id: 427
当前数据库: test1234
当前用户: root@localhost
SSL:未使用
当前寻呼机: stdout
使用outfile:'‘
使用分隔符:;
服务端版本: 5.5.29-0ubuntu0.12.04.2-log (Ubuntu)
协议版本: 10
连接:通过UNIX套接字的Localhost
服务器字符集: latin1
Db字符集: latin1
客户端字符集: latin1
Conn.字符集: latin1
UNIX套接字: /var/run/mysqld/mysqld.sock
正常运行时间: 12天19小时9分35秒
我也尝试过utf8,但结果是一样的。
来自/var/log/mysql/mysql.log
130421 18:03:06 427查询insert insert into testtbl (test) value ('asdads') 130421 18:03:08 427查询select * from testtbl
我几乎搜索了整个互联网,但没有找到任何解决方案。
发布于 2013-04-22 00:19:19
SQL您可能有一个运行UTF-8的浏览器/客户端,而DB数据是拉丁文的-1。
在处理字符编码时,必须确保从数据源到屏幕的所有步骤都使用相同的编码。这包括:
对发送到从数据库读取的文件/脚本的database
如果终点是网页:
在HTTP headers
一个不错的建议是,如果您不是真的需要使用latin1,那么应该始终使用UTF-8。UTF-8越来越成为世界各地的标准,大多数应用程序都将其用作标准。
https://stackoverflow.com/questions/16133199
复制相似问题