gpt4 book ai didi

php - 使用 PHP、MySql 时出现重音字符问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:34:15 27 4
gpt4 key购买 nike

我在使用西类牙语特殊字符时遇到问题,需要一些帮助。首先简要总结一下我在做什么。我编写了一个 PHP 脚本,它使用 Zend Google PHP API 从 Google 电子表格中获取数据。然后将此数据放入 MySql 数据库。

$row=$Col->getText();//getText 是返回行中值的 Google API。print "$row";//我打印内容

但问题是某些西类牙字符(如 ñer)显示为 ñer。稍后在 PHP 代码中,我继续将这些值保存在 MySql 中。甚至在表格中也是同样的问题。不知道问题出在哪里。

我尝试了各种不同的方法,例如编辑 PHP ini 文件并添加:

mbstring.language               = Neutral       ; Set default language to Neutral(UTF-8) (default)
mbstring.internal_encoding = UTF-8 ; Set default internal encoding to UTF-8
mbstring.encoding_translation = On ; HTTP input encoding translation is enabled
mbstring.http_input = auto ; Set HTTP input character set dectection to auto
mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8
mbstring.detect_order = auto ; Set default character encoding detection order to auto
mbstring.substitute_character = none ; Do not print invalid characters
default_charset = UTF-8 ; Default character set for auto content type header
mbstring.func_overload = 7 ; All non-multibyte-safe functions are overloaded with the mbstring alternatives

在MySql中添加以下内容

init_connect='SET collation_connection = utf8_unicode_ci; SET NAMES utf8;'

字符集服务器=utf8整理服务器=utf8_unicode_ci跳过字符集客户端握手

更改数据库和表属性

ALTER DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;

ALTER TABLE tbl_name
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
;

在 mysql 打开连接后立即调用 SETNAMES 等。

$q="SET NAMES 'utf8'";
$r=mysql_query($q);
mysql_query("SET CHARACTER SET utf8");

但似乎没有任何效果。请帮忙

最佳答案

检查浏览器是否也将页面呈现为 UTF-8。尝试添加:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><head>您的 HTML 页面。

此外,$q="SET NAMES 'utf8'";应该是 $q="SET NAMES utf8"; (没有引号)

关于php - 使用 PHP、MySql 时出现重音字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com