我想在mysql db中保存中文字符,通过连接到db将charset设置为UTF8
,字段的字符集为utf8
,并且校对 - utf8_general_ci
,
但它不是显示正方形。我用sqlyog。
有一件事,如果我发出请求并在浏览器中回显该单词,如果显示正确的中文单词。
所以,我想知道为什么它在浏览器中显示正确的单词,在db中它就像正方形,反之亦然。 我担心将来可能通过导出或导入我可能会丢失一些数据。
由于
答案 0 :(得分:1)
您的数据可能正确存储在数据库中,但错误地读取由sqlyog。
我没有使用sqlyog,但是这个问题可能是因为sqlyog连接到MySQL的方式 - 在sqlyog连接到DB的与字符集相关的参数中查找并确保它们也是utf8
答案 1 :(得分:0)
当我不得不将拉丁字符插入数据库时,我遇到了类似的问题,我使用了mb_convert_encoding($ str,'utf8','HTML-ENTITIES')并将其正确存储在数据库中,我必须要显示它在html页面中我只有编码= utf-8