This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/33852] New: incorrect text formating in "std::cout" with UTF-8
- From: "siegerstein at pochta dot ru" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Oct 2007 21:50:00 -0000
- Subject: [Bug c++/33852] New: incorrect text formating in "std::cout" with UTF-8
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Here is incorrect text formating with using cout() with setw() in UNICODE
(UTF-8)
Two text: first in English - correct formating, second - russian in UTF-8 -
incorrect.
#include <iostream>
#include <iomanip>
int main() {
std::cout.setf(std::ios::left);
std::cout.fill('_');
std::cout << std::setw(15) << "Mixer" << std::setw(15) << "Device" <<
std::setw(15) << "Recording" <<
std::setw(15) << "Active" << std::setw(15) <<
"Stereo" << std::setw(15) << "Current" << std::endl;
std::cout << std::setw(15) << "Channel" << std::setw(15) <<
"Available" << std::setw(15) << "Source" <<
std::setw(15) << "Source" << std::setw(15) <<
"Device" << std::setw(15) << "Level" << std::endl;
std::cout << std::endl;
// Russian text in UTF-8
// Not correct formating text....
std::cout << std::setw(15) << "Êàíàë" << std::setw(15) << "Äîñòóïíîñòü"
<< std::setw(15) << "Èñòî÷íèê" <<
std::setw(15) << "Àêòèâíîñòü" << std::setw(15) <<
"Ñòåðåî" << std::setw(15) << "Òåêóùèé" << std::endl;
std::cout << std::setw(15) << "ìèêøåðà" << std::setw(15) <<
"óñòðîéñòâà" << std::setw(15) << "çàïèñè" <<
std::setw(15) << "èñòî÷íèêà" << std::setw(15) <<
"óñòðîéñòâî" << std::setw(15) << "óðîâåíü" << std::endl;
return 0;
}
$ g++-4.2.2 bug.cpp -o bug
RESULT:
Mixer__________Device_________Recording______Active_________Stereo_________Current________
Channel________Available______Source_________Source_________Device_________Level__________
Êàíàë_____ÄîñòóïíîñòüÈñòî÷íèêÀêòèâíîñòüÑòåðåî___Òåêóùèé_
ìèêøåðà_óñòðîéñòâàçàïèñè___èñòî÷íèêàóñòðîéñòâîóðîâåíü_
--
Summary: incorrect text formating in "std::cout" with UTF-8
Product: gcc
Version: 4.2.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: siegerstein at pochta dot ru
GCC build triplet: i686-pc-linux
GCC host triplet: i686-pc-linux
GCC target triplet: i686-pc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33852