浏览 7177 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-15
现在数据库上能正确地显示日文字,但是C#环境下对MySQL数据的访问,从数据库里读出的数据中如果有日文就显示乱码.试过在数据库中执行'SET NAMES UTF8',显示的还是乱码,该怎样解决. 是数据库设置问题呢还是因为MySQLDriver.dll 的问题. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-15
据估计还是你的mysql没有完全使用utf-8编码的原因,在status命令下,
Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 这几项都应该是utf8的编码,这样你程序中统一使用utf8应该是没有问题的 |
|
返回顶楼 | |
发表时间:2007-06-15
我在my.ini中设default-character-set=utf8
也执行了"SET NAMES UTF8" 通过SHOW VARIABLES LIKE '%CHARACTER%' 看到所有的CHARACTER都设为'UTF8'了,显示还是乱码. |
|
返回顶楼 | |
发表时间:2007-06-15
一下是我的my.cnf的部分内容:
-------------------------- [client] #password = your_password port = 3306 socket = /tmp/mysql.sock default-character-set=utf8 ...skipping one line # The MySQL server [mysqld] port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer = 16K max_allowed_packet = 1M table_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 64K character-set-server=utf8 collation-server=utf8_general_ci default-character-set=utf8 init-connect='SET NAMES UTF8' --------------------------- 那几项utf8的地方你和你的my.cnf文件核对一下 如果,你的mysql编码没有任何问题的话,那问题肯定就是在你程序的其他地方了,比如页面、程序里写、读都应该是一直的编码。 --------------------------- 上面是我处理的一些办法,可能还有我没有考虑到的地方,仅供你参考 |
|
返回顶楼 | |
发表时间:2007-06-18
我安装的是mysql-4.1.20-win32版本,没有四楼说的my.cnf文件.
|
|
返回顶楼 | |
发表时间:2007-06-21
知道是因为什么了.是MySQLDriver.dll 的问题.它好象不认'UTF8',我根据网上一些朋友的建议修改了connetionstring,追加了charset,也没有用.后来下载了MySql.Data.dll,不用MySQLDriver.dll,终于把乱码问题给搞定了.
|
|
返回顶楼 | |