我正在以 csv 格式导出数据表。当我用 Excel 打开文件时,我遇到了大数字(大约 20 位数字)的问题。我对特殊字符也有疑问。我猜这是一个格式问题。但我不知道如何纠正这个问题。
我的Js文件中的代码:
dom: 'Bfrtip',
buttons: [
{
extend: 'csv',
text: 'csv',
fieldSeparator: ';' // with ';' we can export the file in csv and each column is in one column. Without ';' everything is in one column
},
'pdf',
'print'
]
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助。
MySql数据库使用utf-8编码并正确存储了数据。我使用set_name utf8查询来确保调用的数据是utf-8编码。只要标头字符集是utf-8,数据库中的所有变量都可以正常工作,但是静态HTML字符无法正常工作。当我将标头字符集设置为ISO-8859-9时,HTML字符正常工作时,变量显示不同。有人可以帮我吗?Utf8编码:http : //oi48.tinypic.com/289kje1.jpg html标记显示值有问题。但是来自数据库的php数据(绿色(例如a?iler))是可以的。ISO编码http:// oi50 .tinypic.com / 287n2ph.jpg这次html正常,但是php数据显示错误。
<?php
header('Content-Type: text/html; charset=ISO-8859-9');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>noname</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助处理特殊字符和 php.ini 吗?
以下php:
$IHaventReceivedCode = "Je n'ai pas reçu mon code";
Run Code Online (Sandbox Code Playgroud)
显示为:
Je n'ai pas re?u mon 代码
我曾尝试添加到顶部的文件:
ini_set('default_charset', 'UTF-8');
header('Content-Type: text/html; charset=UTF-8');
Run Code Online (Sandbox Code Playgroud)
还有头部标签:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
Run Code Online (Sandbox Code Playgroud)
但是,角色无法显示。
有任何想法吗?
我正在使用PDO连接到MYSQL数据库
数据库中的所有表都有utf8_unicode_ci排序规则
这是我的连接代码:
<?php
$mysql_username = "root";
$mysql_password = "";
$mysql_host = "localhost";
$mysql_database = "cms";
try
{
//connect
global $db;
$db = new PDO('mysql:dbname=' . $mysql_database . ';host=' . $mysql_host . ';charset=utf8;', $mysql_username, $mysql_password);
$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8');
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $ex)
{
die("Unable Connect To DataBase");
}
?>
Run Code Online (Sandbox Code Playgroud)
在localhost我没有编码的问题,但当我上传源到主机我看到?????? 而不是字符?
代码如下:
setlocale( LC_CTYPE, 'ru_RU' );
echo strtoupper('Hello! ??????!');
Run Code Online (Sandbox Code Playgroud)
拉丁字符按预期转换.但俄罗斯 - 保持不变.
有什么想法吗?
我使用下面的代码将我的MySQL数据导出到.CSV文件中.一切正常,但是当我尝试导出这些字母?, š, ?, ?, ž, ý, á, í, é(捷克语字母)时,这些字母将?, ?, ?被导出为?.其他字母输出正常.
你能帮我解决这个问题吗?
<?php
/*******EDIT LINES 3-8*******/
$DB_Server = "xxx"; //MySQL Server
$DB_Username = "xxx"; //MySQL Username
$DB_Password = "xxx"; //MySQL Password
$DB_DBName = "xxx"; //MySQL Database Name
$DB_TBLName = "wp_comments"; //MySQL Table Name
$DB_Query = "comment_author, comment_content"; //MySQL Query (what to select from db, you can use * for all)
$filename = "excelfilename"; //File Name
$filename_columns = array("Autor", "Content"); //File Name of columns
/*******YOU …Run Code Online (Sandbox Code Playgroud) 我正在尝试将包含巴西葡萄牙语值的数组转换为 JSON。
\n\n这是一个数组示例:
\n\narray(1) {\n ["title"]=>\n string(77) "Cart\xc3\xa3o Credicard Universit\xc3\xa1rio Visa Cr\xc3\xa9dito "\n}\nRun Code Online (Sandbox Code Playgroud)\n\n如果我使用mb_detect_encoding它,它会显示所有值和键都是 ASCII 或 UTF8 格式。
但是,如果我尝试使用它json_encode来生成 json,它会返回 false 并且json_last_error函数表示错误是JSON_ERROR_UTF8
但是,如果我首先将utf8_encode_deep函数应用于数组(http://php.net/manual/es/function.utf8-encode.php),则会生成 json,而不会给出任何错误。
该解决方案的问题在于它返回某些编码错误的单词。
\n\n例子:
\n\n申请前的字utf8_encode:Cart\xc3\xa3o(良好的编码)
应用后的字utf8_encode:Cart\xc3\x83\xc2\xa3o(编码错误)
因此,虽然它生成了 JSON,但它并没有解决我的问题,因为它弄乱了单词。
\n\n这是我正在使用的代码:
\n\ntry {\n $dbh = new PDO("mysql:host=$hostname;dbname=$database;", $username, $password);\n $sql = "SELECT title FROM card";\n $stmt = $dbh->query($sql);\n\n $result = $stmt->fetch(PDO::FETCH_ASSOC);\n $json = …Run Code Online (Sandbox Code Playgroud) 我有一个.php页面,我得到 字符...你能帮我从页面中删除这个字符吗?
获取此角色的行的代码在这里
<td class='forcedWidth'><?php echo "<a href=".$row->TW_URL.">".$row->EAN."</a>"; ?></td>
Run Code Online (Sandbox Code Playgroud)
我对这个角色完全无能为力.
我正在尝试将 UTF-8 字符支持到电子邮件地址中。如果我理解正确,电子邮件地址限制为254 个可用 (ASCII) 字符。基于此,我想将电子邮件地址存储在 VARCHAR(254) ASCII MySQL InnoDB 列中。我遇到的问题之一是验证这些场景。我正在尝试将 UTF-8 转换为 ASCII 但得到如下所示的混合结果(我知道该示例不是有效的电子邮件,但我可以使用其他字符 - 这只是为了解释问题):
<?php
$string = '@.';
echo 'UTF-8 Value: ' . $string . '<br/>';
echo 'ASCII Length (from UTF-8 string):' . mb_strlen($string, 'ASCII') . '<br/>';
$stringAscii = mb_convert_encoding($string, 'ASCII', 'UTF-8');
echo 'ASCII Length:' . strlen($stringAscii) . '<br/>';
echo 'ASCII Value:' . $stringAscii . '<br/>';
Run Code Online (Sandbox Code Playgroud)
输出是:
UTF-8 值:@。
ASCII 长度(来自 UTF-8 字符串)::14
ASCII 长度:5
ASCII 值:?@?。
转换后,我希望 ASCII 字符串的长度为 14 个字符吗?如何将 UTF-8 字符串转换为 ASCII …
我有一个带有utf8_general_ci编码的数据库,但是当我用php获取数据到它显示"????"的页面时,出了什么问题?
<?php
$query1 = "SELECT name FROM `kotegorii`";
$result1 = mysql_query($query1) or die(mysql_error());
echo "<h3>????????????</h3>";
while ($row = mysql_fetch_array($result1)) {
echo $row['name']."<br>";
}
?>
Run Code Online (Sandbox Code Playgroud)
代码是使用UTF-8编码编写的..
我正在使用 MySQL 在数据库中存储项目列表,并尝试从单个表中检索所有项目。连接部分工作正常,检索项目似乎工作得很好,但我无法对项目列表进行 json_encode。
// Executes SQL query on the database specified by $con
$sql = "SELECT * FROM productlist";
$query = mysqli_query($con, $sql) or die(nl2br("\n Failed to execute query"));
// Retrieves all the rows returned by the SQL query
$rows = array();
while($r = mysqli_fetch_assoc($query)) {
$rows[] = $r;
}
echo json_encode($rows[0]); // test whether retrieval works
// Displays rows in content-type JSON and in PRETTY_PRINT
header('Content-Type: application/json');
echo json_encode($rows, JSON_PRETTY_PRINT);
Run Code Online (Sandbox Code Playgroud)
这是代码。的json_encode效果rows[0]很好。但是,当我将其注释掉并尝试对 执行相同操作时rows,它什么也没有返回。 …
我想回应原始目录结构.使用ascii字符192和195.我该怎么做?我在使用时最终会得到一个无效的字符 chr(192);.我尝试过使用mb_convert_encoding但是也没用.有解决方案吗
我试图将表情符号保存到数据库记录,但每次都没有正确保存.我已经参考了如何在我的SQL数据库中存储表情符号字符,但仍然无法正常工作.
根据上述问题的解决方案,我尝试将字符集从utf8更改为utf8mb4,并将字符集从utf8mb4_bin更改为.
我尝试了一切,比如重置为默认值,然后在数据库表中更改它.我试过utf8mb4_unicode_ci,utf8_unicode_ci和utf8mb4_bin,但它没有用.
我正在使用MySQL 5.6版本.我正在使用以下查询更改排序规则
alter table `users` convert to character set utf8mb4 collate utf8mb4_bin;
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,它正在改变数据库中的UTF类型.但是表情符号没有正确保存它作为问号保存(????)
下面是我的数据库表结构示例:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'System generated id used for uniqueness',
`introduction` longtext COLLATE utf8mb4_bin,
`other_details` longtext COLLATE utf8mb4_bin,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=41213 ;
Run Code Online (Sandbox Code Playgroud)
使用以下PHP代码保存表情符号:
$dom = new DOMDocument('1.0', 'UTF-8');
$strWithEmoji = "";
$fullContent = '<meta http-equiv="content-type" content="text/html; charset=utf-8">'
+ $strWithEmoji;
$this->save($fullContent); // Function for saving into …Run Code Online (Sandbox Code Playgroud)