Re: [MySQL] 请问如何存取多国语言的字段?

楼主: GALINE (天真可爱CQD)   2015-05-29 23:32:43
: 虽然我已经选择字段语系为“utf8mb4_unicode_ci”了,但是为什么它还是会出现乱码呢?
乱码这件事情其实满复杂的...大致上有这些东西
- 你的资料在 DB 里面被存成什么编码
- OK, utf8mb4
- PHP 跟 DB 之间的连线用的是什么编码
- 看你怎么连 DB 的,就用哪种方式来做
mysql_set_charset($conn, 'utf8mb4');
$conn = new PDO('mysql:charset=utf8mb4');
- 你的 PHP 本身会输出什么编码
- php.ini 里面 default_charset 设定成 UTF-8 (没有MB4)
- 浏览器把 PHP 输出的结果当成什么编码
- header('Content-Type: text/html; charset=utf-8'); // 透过 HTTP header 设定
- <head><meta charset="utf-8"></head> // 或是在 html 的 head 区块设定
我第一个会猜是浏览器这边的问题就是了,这个也最好确认
浏览器的功能表里面找到“语言与编码”之类的东西
然后选看起来像 unicode 或 utf-8 的选项
如果这样会从乱码变成能读的文字,那就是浏览器这段的问题了
作者: red0whale (red whale)   2015-05-30 16:07:00
谢谢你 不过不是浏览器读码的问题 我已经选择utf-8的选项了 但是他还是乱码 我觉得是character_set_server这个选项在作祟,纵使其他选项的character_set编码都已经改成utf8了,这个选项依旧还是latin1,而我是租虚拟主机的,不晓得这个选项的编码能不能改还是个问题...
楼主: GALINE (天真可爱CQD)   2015-05-30 23:52:00
先ini_set()试看看? 虽然主机给改的机会不高...

Links booklink

Contact Us: admin [ a t ] ucptt.com