It is an issue with the client characterset. When, based on what I had before in mysql command line client (when in client), and I run status;, I get, among other things:
mysql> status;
mysql Ver 14.14 Distrib 5.6.24, for Win64 (x86_64)
Connection id: 88
Server version: 5.6.24-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: cp850
Conn. characterset: cp850
Then:
mysql> use so_gibberish;
Database changed
mysql> select * from questions;
+-------------+----------------------------+----------------+----------------+---------------------+
| question_id | question | answer_one | correct_answer | created_at |
+-------------+----------------------------+----------------+----------------+---------------------+
| 1 | How to say ?Something? in | 1. Some Answer | 1 | 2015-11-01 21:06:23 |
+-------------+----------------------------+----------------+----------------+---------------------+
Even creating another database like:
CREATE DATABASE newdb CHARACTER SET utf8 COLLATE utf8_bin;
use newdb;
CREATE TABLE `questions` (
`question_id` int(11) NOT NULL AUTO_INCREMENT,
`question` varchar(200) CHARACTER SET utf8 COLLATE utf8_bin, -- utf8_unicode_ci,
`answer_one` varchar(80),
`correct_answer` int(2),
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`question_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
or
ALTER TABLE questions CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
Did not make a difference.
It wasn't until I ran
mysql> charset utf8;
Charset changed
mysql> select * from questions;
+-------------+--------------------------------+----------------+----------------+---------------------+
| question_id | question | answer_one | correct_answer | created_at |
+-------------+--------------------------------+----------------+----------------+---------------------+
| 1 | How to say "Something" in | 1. Some Answer | 1 | 2015-11-01 21:06:23 |
+-------------+--------------------------------+----------------+----------------+---------------------+
1 row in set (0.00 sec)
was it good. Note when I run status; now I get
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
Refer to the mysql manual page entitled Connection Character Sets and Collations
Connection Lifetime
That worked fine, til I started the client up fresh again. So there are INI file or CONF file settings
Mysql Workbench
I never had an issue over there at all, even from the beginning. So it has a different client characterset
Your World
Whatever that connection is, it needs to get the client characterset over to UTF8
Excelquestionsand the actual raw string that is performed without ellipses I am confused how to help. Perhaps the issue is just getting the correct unicode value for the fancy quotes, and using the str_replace in Abdulla's answer