我正在使用mysql_fetch_assoc($query),其中一个位字段返回,这应该是真的.
问题是我还需要将它输出到xml,它是一个非法的xml字符.db表的charset是utf-8.为什么会这样?
Mar*_*c B 14
MySQL实际上为位字段返回0x00和0x01.你必须将它们转换成适合PHP端的东西
$bitvalue = ($bitvalue == 0x01) ? 'TRUE' : 'FALSE'
Run Code Online (Sandbox Code Playgroud)
或者在查询中:
SELECT CAST(bitfield AS unsigned int)
FROM ...
Run Code Online (Sandbox Code Playgroud)
它会将其转换为int并返回为'0'和'1'(0x48和0x49).
顺便说一句,一些较旧的mysql库预先支持MySQL中的真实位字段(当它们被静默转换为char(1)时)并且会丢弃这些值,所以如果你遇到其中一个恐龙版本,您可能必须使用查询版本而不是PHP端转换.
| 归档时间: |
|
| 查看次数: |
9694 次 |
| 最近记录: |