mysql中乱码的问题。谢谢。。。。(100分)

  • 主题发起人 主题发起人 linfinder
  • 开始时间 开始时间
L

linfinder

Unregistered / Unconfirmed
GUEST, unregistred user!
如果mysql使用utf8编码的数据库,在delphi中使用mysql.pas单元
向数据库中添加数据:mysql_query,函数传递的sql语句参数需要pchar类型的,而我是这样转换的pchar(sql),结果存到数据库的中文全是乱码。
然后我再用AnsiToUtf8sql),转换成utf8格式后再pchar(sql),但是的出来的结果也是乱码,而且更乱,谁有解决方法?
 
1:改成latin1编码试试/
 
解决了,在连接服务器后,执行下面一句话就OK了。
mysql_query(mysql, 'set names gbk');
 
又有新问题了,好像odbc的驱动的转码有问题,在用ado连接mysql后,在插入数据时,字段内包含有字符:#162#159,#163#159,#163#160等等ACSII码时(看似是全角空格,其实不是全角空格),会出错,出错提示:
Project Project1.exe raised exception class EOleException with message '[MySQL][ODBC 3.51 Driver][mysqld-5.0.21-community-nt]Data too long for column 'body' at row 1'. Process stopped. Use Step or Run to continue.

以上的“body”未字段名
 
后退
顶部