Mysql 在表中使用哪种类型的排序规则

Mysql 在表中使用哪种类型的排序规则,mysql,character-encoding,collation,Mysql,Character Encoding,Collation,我有一个简单的问题,希望有一个简单的解决方案: 我有一个用PHP和HTML编写的网站,使用Linux服务器和MySQL。 它有一个表单,用户可以在其中填写一些个人信息,包括一个文本区域,其中 他们的目的是复制和粘贴一份测试简历 我还为我的客户设置了一个后端,她可以在那里查询数据库,看看是谁 注册并检索他们的信息 我的问题是,当我查询并回显包含 CV大量文本,换行符都消失了-所有内容都打印在一行中 有人知道我是否可以通过使用正确的排序规则/字符编码来解决这个问题吗 对于包含用户CV的特定行?我希望

我有一个简单的问题,希望有一个简单的解决方案: 我有一个用PHP和HTML编写的网站,使用Linux服务器和MySQL。 它有一个表单,用户可以在其中填写一些个人信息,包括一个文本区域,其中 他们的目的是复制和粘贴一份测试简历

我还为我的客户设置了一个后端,她可以在那里查询数据库,看看是谁 注册并检索他们的信息

我的问题是,当我查询并回显包含 CV大量文本,换行符都消失了-所有内容都打印在一行中

有人知道我是否可以通过使用正确的排序规则/字符编码来解决这个问题吗
对于包含用户CV的特定行?我希望存在这样的排序规则来保存和维护换行符。

使用nl2br$text添加HTML换行符。

我认为排序规则与此无关。文本区域中的换行符以\n或\r字符的形式出现。如果您没有做任何奇怪的事情,那么这些断线应该存储到数据库中

我认为您的问题在于,当您回显表的内容时,由于浏览器不会将\n和\r显示为新行,因此您必须将它们替换为元素或将每个段落包装在一个


您可以使用它。

排序规则与此无关-排序规则和字符集根本不会影响您的换行符。如果您想查看它,请查看回显文本的页面源


然而,HTML在正常情况下像对待所有其他空白一样对待换行符,所以当您将它们回送到浏览器时,它们将不可见。无论如何,您不应该将纯文本输出为HTML,因为它们不一样。您必须先将纯文本转换为HTML;一个简单的方法是按顺序对文本调用htmlspecialchars和nl2br,否则htmlspecialchars将吃掉您新创建的br标记并将它们转换为br/。如果不这样做,不仅会产生不需要的输出,还可能是XSS的主要安全风险。

或者将文本包装到


请参阅:

我为您格式化了您的帖子。1年零3个月后,请在点击提交前阅读SO的格式常见问题解答并查看预览窗格。让我的车停下来的是轮胎和道路之间的摩擦。但是是的,刹车确实起了作用@最大值