我正在尝试将我的编码更改为utf-8,以下是我目前所拥有的。
Table Charset
已安装mbstring
extension=php_mbstring.dll
在php.ini
mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On /*updated it to mbstring.encoding_translation = 0*/
mbstring.http_input = auto /*updated it to mbstring.http_input = pass*/
mbstring.http_output = UTF-8 /*updated it to mbstring.http_output = pass*/
mbstring.detect_order = auto
mbstring.substitute_character
default_charset = UTF-8
mbstring.func_overload = 7
标题
header('Content-type: text/html; charset=UTF-8');
HTML元标记
<meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
HTML CODE
<label for="article_body_pun">Article (Foreign): </label>
<textarea cols="100" rows="10" name="article_body_pun"></textarea><br />
PHP
$article_body_pun = $_REQUEST['article_body_pun'];
SQL
$insert_article = "INSERT INTO articles(article_body_pun)
VALUES ('{$article_body_pun}'')";
PHP插入
$article_query = mysqli_query($connectDB, $insert_article);
应存储的数据 - &gt; 汉语
存储原始数据
汉è¯Â
根据@Pekka웃的建议添加mysqli_set_charset($connectDB, "utf8");
后,输出变为(以下评论)
æ±è¯
经过一些故障排除后,数据部分存储正确。
�?语
尝试按mb_detect_encoding
检查字符集,并在结果上获取UTF-8
。
并在检查firefox中的字符集时。
这似乎是正确的,但仍会在某些角色上出现问号。是否有任何进一步的建议可以使这项工作?
答案 0 :(得分:1)
你快到了:确保mySQL连接也编码为UTF-8。
查看UTF-8 all the way through了解详情。
答案 1 :(得分:0)
我能够在朋友的帮助下解决问题,数据未正确地从我的HTML表单插入数据库。好像我的mbstring配置导致了问题,不得不更新以下内容:
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = 0
因此这些值只是恢复为默认值并且完美运行。
感谢@Pekka웃和@Willem的帮助。