我有一个包含特殊字符的字符串,例如:
## compute a key frame: one line per machine/test
pairs <- unique(df[,c('Name','Test')]);
## precompute ticks
xtick <- seq(seq(min(df$Test_Date),by='-1 month',len=2)[2],seq(max(df$Test_Date),by='1 month',len=2)[2],'month');
yspace <- 1/(nrow(pairs)+1);
pairs$ytick <- seq(yspace,1-yspace,len=nrow(pairs));
## precompute point colors using named character vector
pointColor <- c(No='red',Yes='blue');
## draw the plot
par(mar=c(6,6,3,3)+0.1,xaxs='i',yaxs='i'); ## set global plot params
plot(NA,xlim=c(min(xtick),max(xtick)),ylim=c(0,1),axes=F,xlab='',ylab=''); ## define plot bounds
with(merge(df,pairs),points(Test_Date,ytick,col=pointColor[issue],pch=4,cex=1)); ## plot points
axis(1,xtick,strftime(xtick,'%Y-%m'),las=2); ## x-axis
axis(2,c(0,pairs$ytick,1),NA,tcl=0); ## y-axis (full extent, no tick marks)
axis(2,pairs$ytick,paste0(pairs$Name,':',pairs$Test),las=1); ## y-axis (just labels and tick marks on main lines)
title('Machine Test Coverage'); ## title
当我使用序列化($ text)时,返回
$text = "NÃO";
但是当我使用从数据库中获取的字符串时,例如:
a:1:{i:0;s:4:"NÃO";}
返回
$query = SELECT special_text FROM ...
(...)
$text = $row->"special_text"
serialize($text);
,是什么让我的剧本崩溃。
从数据库序列化数据时我需要做什么? 谢谢,对不起我的英文
答案 0 :(得分:0)
如果您不想使用utf-8,请尝试对序列化字符串进行编码,然后再将其保存到db,并在检索后进行解码。您可以使用base64编码,就像在数据库中使用任何8位编码一样。此方法将数据大小增加4/3。或者您可以在数据库中使用二进制(BLOB)字段,并使用gzip或类似的方式对数据进行编码。对于大量文本非常有用,但会增加CPU负载。